README.md in danger-SwiftInfo-0.0.3 vs README.md in danger-SwiftInfo-0.0.4
- old
+ new
@@ -1,18 +1,52 @@
# danger-SwiftInfo
-A description of danger-SwiftInfo.
+A [Danger](http://danger.systems/) plugin that runs and prints [SwiftInfo](https://github.com/rockbruno/SwiftInfo) results to pull requests.
-## Installation
+Requires SwiftInfo 2.3.1 or newer.
- $ gem install danger-SwiftInfo
+### How does it look?
-## Usage
+<img src="https://i.imgur.com/8kvEx5O.png">
- Methods and attributes from this plugin are available in
- your `Dangerfile` under the `SwiftInfo` namespace.
+### Installation
-## Development
+Just add the gem to your Gemfile:
+
+```ruby
+gem 'danger-SwiftInfo'
+```
+
+### Usage
+
+To use this plugin, you need to modify both your Dangerfile and your SwiftInfo's Infofile.
+
+#### Dangerfile
+
+Call `swiftinfo.run` with the path to your SwiftInfo binary as an argument. (inside `Pods` if CocoaPods was used or just `swiftinfo` if Homebrew was used)
+
+```ruby
+swiftinfo.run './Pods/SwiftInfo/bin/swiftinfo'
+```
+
+#### Infofile
+
+To print the final output to Danger, call `api.print(output)` from your Infofile.
+
+Note that when ran from this plugin, SwiftInfo will be executed with the `-pullRequest -s` arguments which can be inspected and used as a condition. This logic is abstracted under the `isInPullRequestMode` boolean, which you can use to extract different providers in Danger runs and prevent saving the output, for example.
+
+```swift
+if isInPullRequestMode {
+ // The specific Danger flow
+ api.print(output: output)
+} else {
+ // The regular release flow
+ api.sendToSlack(output: output, webhookUrl: url)
+ api.save(output: output)
+}
+```
+
+### Development
1. Clone this repo
2. Run `bundle install` to setup dependencies.
3. Run `bundle exec rake spec` to run the tests.
4. Use `bundle exec guard` to automatically have tests run as you make changes.