Skip to content

Commit

Permalink
Merge pull request #8 from brightdigit/release/0.1.0
Browse files Browse the repository at this point in the history
Release/0.1.0
  • Loading branch information
leogdion authored Mar 29, 2020
2 parents a54156c + b05cc24 commit 8eca628
Show file tree
Hide file tree
Showing 49 changed files with 805 additions and 62 deletions.
6 changes: 1 addition & 5 deletions .github/workflows/macOS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,9 @@ jobs:
- name: Build Documentation
run: sourcedocs generate --spm-module ${{ env.PACKAGE_NAME }}
- name: Verify Valid Swift Package
run: swift package dump-package | jq -e ".products | length > 0"
run: curl -s https://raw.githubusercontent.com/daveverwer/SwiftPMLibrary/master/script.sh | bash -s -- mine
- name: CocoaPods Action
run: pod lib lint
- name: Upload to CodeCov.io
run: bash <(curl https://codecov.io/bash) -F github -F macos -n ${{ github.sha }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Commit files
run: |
git config --local user.email "[email protected]"
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ jobs:

steps:
- uses: actions/checkout@v2
- name: Download Swift 5.1.3
run: wget -q https://swift.org/builds/swift-5.1.3-release/ubuntu1804/swift-5.1.3-RELEASE/swift-5.1.3-RELEASE-ubuntu18.04.tar.gz
- name: Extract Swift 5.1.3
run: tar xzf swift-5.1.3-RELEASE-ubuntu18.04.tar.gz
- name: Download Swift 5.2
run: wget -q https://swift.org/builds/swift-5.2-release/ubuntu1804/swift-5.2-RELEASE/swift-5.2-RELEASE-ubuntu18.04.tar.gz
- name: Extract Swift 5.2
run: tar xzf swift-5.2-RELEASE-ubuntu18.04.tar.gz
- name: Add Path
run: echo "::add-path::$GITHUB_WORKSPACE/swift-5.1.3-RELEASE-ubuntu18.04/usr/bin"
run: echo "::add-path::$GITHUB_WORKSPACE/swift-5.2-RELEASE-ubuntu18.04/usr/bin"
- name: Build
run: swift build
- name: Run tests
run: swift test --enable-code-coverage
run: swift test --enable-test-discovery --enable-code-coverage
- name: Prepare Code Coverage
run: llvm-cov export -format="lcov" .build/x86_64-unknown-linux/debug/${{ env.PACKAGE_NAME }}PackageTests.xctest -instr-profile .build/debug/codecov/default.profdata > info.lcov
run: llvm-cov export -format="lcov" .build/x86_64-unknown-linux-gnu/debug/${{ env.PACKAGE_NAME }}PackageTests.xctest -instr-profile .build/debug/codecov/default.profdata > info.lcov
- name: Upload to CodeCov.io
run: bash <(curl https://codecov.io/bash) -F github -F bionic -n ${{ github.sha }}
env:
Expand Down
3 changes: 1 addition & 2 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
brew "swiftformat"
brew "swiftlint"
brew "sourcedocs"
brew "carthage"
brew "jq"
brew "carthage"
11 changes: 10 additions & 1 deletion Documentation/Reference/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
- [AnalyticsParameterEncoderProtocol](protocols/AnalyticsParameterEncoderProtocol.md)
- [AnalyticsParameterable](protocols/AnalyticsParameterable.md)
- [AnalyticsRequestBuilderProtocol](protocols/AnalyticsRequestBuilderProtocol.md)
- [AnalyticsResultDecoderProtocol](protocols/AnalyticsResultDecoderProtocol.md)
- [AnalyticsSessionManagerProtocol](protocols/AnalyticsSessionManagerProtocol.md)
- [AnalyticsTimingProtocol](protocols/AnalyticsTimingProtocol.md)
- [AnalyticsTrackable](protocols/AnalyticsTrackable.md)
- [AnalyticsTrackerProtocol](protocols/AnalyticsTrackerProtocol.md)
- [AnalyticsValidationProtocol](protocols/AnalyticsValidationProtocol.md)
- [Request](protocols/Request.md)
- [Session](protocols/Session.md)
- [URLSessionable](protocols/URLSessionable.md)
Expand All @@ -21,17 +21,25 @@
- [AnalyticsConfiguration](structs/AnalyticsConfiguration.md)
- [AnalyticsEvent](structs/AnalyticsEvent.md)
- [AnalyticsException](structs/AnalyticsException.md)
- [AnalyticsHitParsingResult](structs/AnalyticsHitParsingResult.md)
- [AnalyticsParameterEncoder](structs/AnalyticsParameterEncoder.md)
- [AnalyticsRequestBuilder](structs/AnalyticsRequestBuilder.md)
- [AnalyticsResultDecoder](structs/AnalyticsResultDecoder.md)
- [AnalyticsSessionManager](structs/AnalyticsSessionManager.md)
- [AnalyticsTiming](structs/AnalyticsTiming.md)
- [AnalyticsTracker](structs/AnalyticsTracker.md)
- [AnalyticsURLSession](structs/AnalyticsURLSession.md)
- [AnalyticsURLs](structs/AnalyticsURLs.md)
- [AnalyticsValidation](structs/AnalyticsValidation.md)
- [StringEncodingError](structs/StringEncodingError.md)

## Classes

- [AnalyticsHitParserMessage](classes/AnalyticsHitParserMessage.md)

## Enums

- [AnalyticsHitParserMessageType](enums/AnalyticsHitParserMessageType.md)
- [AnalyticsHitType](enums/AnalyticsHitType.md)
- [AnalyticsParameterKey](enums/AnalyticsParameterKey.md)

Expand All @@ -41,6 +49,7 @@
- [AnalyticsEventProtocol](extensions/AnalyticsEventProtocol.md)
- [AnalyticsExceptionProtocol](extensions/AnalyticsExceptionProtocol.md)
- [AnalyticsResult](extensions/AnalyticsResult.md)
- [AnalyticsResultDecoderProtocol](extensions/AnalyticsResultDecoderProtocol.md)
- [AnalyticsTimingProtocol](extensions/AnalyticsTimingProtocol.md)
- [AnalyticsTrackerProtocol](extensions/AnalyticsTrackerProtocol.md)
- [NSException](extensions/NSException.md)
Expand Down
60 changes: 60 additions & 0 deletions Documentation/Reference/classes/AnalyticsHitParserMessage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
**CLASS**

# `AnalyticsHitParserMessage`

```swift
public class AnalyticsHitParserMessage: Codable, Equatable
```

## Properties
### `messageType`

```swift
public let messageType: AnalyticsHitParserMessageType
```

> Type of message.

### `description`

```swift
public let description: String
```

> Additional details or steps to fix the validation issue.

### `messageCode`

```swift
public let messageCode: String?
```

> The message code of the issue.

### `parameter`

```swift
public let parameter: String?
```

> The parameter (if applicable) causing the validation issue.

## Methods
### `==(_:_:)`

```swift
public static func == (lhs: AnalyticsHitParserMessage, rhs: AnalyticsHitParserMessage) -> Bool
```

#### Parameters

| Name | Description |
| ---- | ----------- |
| lhs | A value to compare. |
| rhs | Another value to compare. |

### `init(messageType:description:messageCode:parameter:)`

```swift
public init(messageType: AnalyticsHitParserMessageType, description: String, messageCode: String? = nil, parameter: String? = nil)
```
28 changes: 28 additions & 0 deletions Documentation/Reference/enums/AnalyticsHitParserMessageType.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
**ENUM**

# `AnalyticsHitParserMessageType`

```swift
public enum AnalyticsHitParserMessageType: String, Codable, CaseIterable
```

> The message type of each `AnalyticsHitParserMessage`.

## Cases
### `info`

```swift
case info = "INFO"
```

### `warn`

```swift
case warn = "WARN"
```

### `error`

```swift
case error = "ERROR"
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
**EXTENSION**

# `AnalyticsResultDecoderProtocol`

## Methods
### `decode(_:_:)`

```swift
func decode(_ data: Data?, _ error: Error?) -> AnalyticsResult
```
6 changes: 4 additions & 2 deletions Documentation/Reference/extensions/URLSession.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
# `URLSession`

## Methods
### `dataTask(with:_:)`
### `dataTask(with:decodeWith:_:)`

```swift
public func dataTask(with request: URLRequest, _ completion: @escaping (AnalyticsResult) -> Void) -> URLSessionableDataTask
public func dataTask(with request: URLRequest,
decodeWith decoder: AnalyticsResultDecoderProtocol,
_ completion: @escaping (AnalyticsResult) -> Void) -> URLSessionableDataTask
```

#### Parameters
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
**PROTOCOL**

# `AnalyticsResultDecoderProtocol`

```swift
public protocol AnalyticsResultDecoderProtocol
```

## Methods
### `decode(_:)`

```swift
func decode(_ data: Data) -> AnalyticsResult
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
**PROTOCOL**

# `AnalyticsValidationHitProtocol`

```swift
public protocol AnalyticsValidationHitProtocol
```
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,10 @@
```swift
public protocol AnalyticsValidationProtocol
```

## Properties
### `hitParsingResult`

```swift
var hitParsingResult: [AnalyticsHitParsingResult]
```
4 changes: 2 additions & 2 deletions Documentation/Reference/protocols/URLSessionable.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ public protocol URLSessionable
> Abstraction for making URLRequests.

## Methods
### `dataTask(with:_:)`
### `dataTask(with:decodeWith:_:)`

```swift
func dataTask(with request: URLRequest, _ completion: @escaping (AnalyticsResult) -> Void) -> URLSessionableDataTask
func dataTask(with request: URLRequest,
```

> Creates the URLRequestDataTask and calls resume.
Expand Down
7 changes: 7 additions & 0 deletions Documentation/Reference/structs/AnalyticsHitParserMessage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
**STRUCT**

# `AnalyticsHitParserMessage`

```swift
public struct AnalyticsHitParserMessage: Codable
```
41 changes: 41 additions & 0 deletions Documentation/Reference/structs/AnalyticsHitParsingResult.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
**STRUCT**

# `AnalyticsHitParsingResult`

```swift
public struct AnalyticsHitParsingResult: Codable, Equatable
```

> Result from a hit sent in the original request.

## Properties
### `valid`

```swift
public let valid: Bool
```

> True for valid hits, false for invalid hits.

### `hit`

```swift
public let hit: String
```

> A string containing the path of the request as well as its method and protocol.

### `parserMessage`

```swift
public let parserMessage: [AnalyticsHitParserMessage]
```

> A list of parser messages. If the hit is valid, this array will be empty.

## Methods
### `init(valid:hit:parserMessage:)`

```swift
public init(valid: Bool, hit: String, parserMessage: [AnalyticsHitParserMessage])
```
7 changes: 7 additions & 0 deletions Documentation/Reference/structs/AnalyticsHitPath.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
**STRUCT**

# `AnalyticsHitPath`

```swift
public struct AnalyticsHitPath
```
6 changes: 6 additions & 0 deletions Documentation/Reference/structs/AnalyticsParameterEncoder.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ public struct AnalyticsParameterEncoder: AnalyticsParameterEncoderProtocol
> Encodes the parameters for use by the analytics tracker.

## Methods
### `init()`

```swift
public init()
```

### `encode(parameters:)`

```swift
Expand Down
31 changes: 31 additions & 0 deletions Documentation/Reference/structs/AnalyticsResultDecoder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
**STRUCT**

# `AnalyticsResultDecoder`

```swift
public struct AnalyticsResultDecoder: AnalyticsResultDecoderProtocol
```

> Decodes the data from the `URLSession`data task into an `AnalyticsResult`.

## Methods
### `init()`

```swift
public init()
```

### `decode(_:)`

```swift
public func decode(_ data: Data) -> AnalyticsResult
```

> Decodes the data from `URLSession` into an `AnalyticsResult`.
> - Parameter data: The `URLSession` data task.

#### Parameters

| Name | Description |
| ---- | ----------- |
| data | The `URLSession` data task. |
17 changes: 17 additions & 0 deletions Documentation/Reference/structs/AnalyticsTracker.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,23 @@ public struct AnalyticsTracker: AnalyticsTrackerProtocol

> Tracker for sending items to analytics.

## Properties
### `configuration`

```swift
public let configuration: AnalyticsConfigurationProtocol
```

> The static configuration for the tracker.

### `sessionManager`

```swift
public let sessionManager: AnalyticsSessionManagerProtocol
```

> The session manager for sending data.

## Methods
### `init(configuration:sessionManager:)`

Expand Down
Loading

0 comments on commit 8eca628

Please sign in to comment.