revily-client 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.md ADDED
File without changes
data/CONTRIBUTING ADDED
@@ -0,0 +1,5 @@
1
+ 1. Fork it
2
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
3
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
4
+ 4. Push to the branch (`git push origin my-new-feature`)
5
+ 5. Create new Pull Request
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Applied Awesome LLC
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # Revily
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'revily'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install revily
18
+
19
+ ## Usage
20
+
21
+ incidents
@@ -0,0 +1,61 @@
1
+ module Revily
2
+ module Client
3
+
4
+ end
5
+ end
6
+ # require 'revily/authentication'
7
+ # require 'revily/connection'
8
+ # require 'revily/request'
9
+
10
+ # require 'revily/clients/incidents'
11
+ # require 'revily/clients/policies'
12
+ # require 'revily/clients/policy_rules'
13
+ # require 'revily/clients/schedule_layers'
14
+ # require 'revily/clients/schedules'
15
+ # require 'revily/clients/services'
16
+ # require 'revily/clients/users'
17
+
18
+ # module Revily
19
+ # class Client
20
+ # attr_accessor(*Config::VALID_OPTIONS_KEYS)
21
+
22
+ # def initialize(options={})
23
+ # options = Revily.options.merge(options)
24
+ # Config::VALID_OPTIONS_KEYS.each do |key|
25
+ # send("#{key}=", options[key])
26
+ # end
27
+ # end
28
+
29
+ # include Revily::Authentication
30
+ # include Revily::Connection
31
+ # include Revily::Request
32
+
33
+ # include Revily::Client::Incidents
34
+ # include Revily::Client::Integration
35
+ # include Revily::Client::Policies
36
+ # include Revily::Client::PolicyRules
37
+ # include Revily::Client::ScheduleLayers
38
+ # include Revily::Client::Schedules
39
+ # include Revily::Client::Services
40
+ # include Revily::Client::Users
41
+ # include Revily::Client::Webhooks
42
+ # end
43
+ # end
44
+
45
+ # extend Config
46
+
47
+ # class << self
48
+
49
+ # def new(options={})
50
+ # Revily::Client.new(options)
51
+ # end
52
+
53
+ # def method_missing(method, *args, &block)
54
+ # return super unless new.respond_to?(method)
55
+ # new.send(method, *args, &block)
56
+ # end
57
+
58
+ # def respond_to?(method, include_private=false)
59
+ # new.respond_to?(method, include_private) || super(method, include_private)
60
+ # end
61
+ # end
@@ -0,0 +1,52 @@
1
+ require 'faraday'
2
+ require 'revily/version'
3
+
4
+ module Revily
5
+ module Config
6
+ VALID_OPTION_KEYS = [
7
+ :adapter,
8
+ :api_version,
9
+ :api_endpoint,
10
+ :auth_token,
11
+ :faraday_config_block,
12
+ :user_agent
13
+ ]
14
+
15
+ DEFAULT_ADAPTER = Faraday.default_adapter
16
+ DEFAULT_API_VERSION = 1
17
+ DEFAULT_API_ENDPOINT = ENV['REVEILLE_API_ENDPOINT'] || 'https://api.revily.io/'
18
+ DEFAULT_USER_AGENT = "Revily Ruby Client v#{Revily::VERSION}"
19
+
20
+ attr_accessor(*VALID_OPTION_KEYS)
21
+
22
+ def self.extended(base)
23
+ base.reset
24
+ end
25
+
26
+ def configure
27
+ yield self
28
+ end
29
+
30
+ def options
31
+ VALID_OPTION_KEYS.inject({}) { |opts, key| opts.merge!(key => send(key) }
32
+ end
33
+
34
+ def api_endpoint=(value)
35
+ @api_endpoint = File.join(value, "")
36
+ end
37
+
38
+ def faraday_config(&block)
39
+ @faraday_config_block = block
40
+ end
41
+
42
+ def reset
43
+ self.adapter = DEFAULT_ADAPTER
44
+ self.api_version = DEFAULT_API_VERSION
45
+ self.api_endpoint = DEFAULT_API_ENDPOINT
46
+ self.user_agent = DEFAULT_USER_AGENT
47
+ self.auth_token = nil
48
+ end
49
+
50
+
51
+ end
52
+ end
@@ -0,0 +1,26 @@
1
+
2
+ module Revily
3
+ module Connection
4
+ def connection(options={})
5
+ options = {
6
+ authenticate: true,
7
+ raw: false
8
+ }.merge(options)
9
+
10
+ connection = Faraday.new(options) do |builder|
11
+
12
+ builder.use FaradayMiddleware::FollowRedirects
13
+ builder.use FaradayMiddleware::Mashify
14
+ builder.use FaradayMiddleware::ParseJson, content_type: /\bjson$/
15
+
16
+ faraday_config_block.call(builder) if faraday_config_block
17
+
18
+ builder.adapter *adapter
19
+ end
20
+
21
+ connection.headers[:user_agent] = user_agent
22
+
23
+ connection
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,23 @@
1
+ module Revily
2
+ class Client
3
+ module Incidents
4
+
5
+ def incidents(service_id=nil, options={})
6
+ service_id ? get "services/#{service_id}/incidents", options : get "incidents", options
7
+ end
8
+ alias :list_incidents :incidents
9
+
10
+ def incident(id, options={})
11
+ get "incidents/#{id}", options
12
+ end
13
+
14
+ def acknowledge_incident(id, options={})
15
+ get "incidents/#{id}/acknowledge", options
16
+ end
17
+
18
+ def resolve_incident(id, options={})
19
+ get "incidents/#{id}/resolve", options
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,27 @@
1
+ module Revily
2
+ class Client
3
+ module Integration
4
+
5
+ def service_trigger_incident(key, message=nil, description=nil, options={})
6
+ incident = {
7
+ message: message,
8
+ description: description,
9
+ key: key
10
+ }
11
+ put "trigger", options.merge(incident)
12
+ end
13
+ alias :service_trigger :service_trigger_incident
14
+
15
+ def service_acknowledge_incident(key, options={})
16
+ put "acknowledge", options.merge(key: key)
17
+ end
18
+ alias :service_acknowledge :service_acknowledge_incident
19
+
20
+ def service_resolve_incident(key, options={})
21
+ put "resolve", options.merge(key: key)
22
+ end
23
+ alias :service_resolve :service_resolve_incident
24
+
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ module Revily
2
+ class Client
3
+ module Policies
4
+
5
+ def policies(options={})
6
+ get "policies", options
7
+ end
8
+ alias :list_policies :policies
9
+
10
+ def policy(id, options={})
11
+ get "policies/#{id}", options
12
+ end
13
+
14
+ def create_policy(name, loop_limit, options={})
15
+ post "policies", options.merge({name: name, loop_limit: loop_limit})
16
+ end
17
+
18
+ def update_policy(id, options={})
19
+ patch "policies/#{id}", options
20
+ end
21
+
22
+ def delete_policy(id, options={})
23
+ delete "policies/#{id}", options
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,32 @@
1
+ module Revily
2
+ class Client
3
+ module PolicyRules
4
+ def policy_rules(policy_id, options={})
5
+ get "policies/#{policy_id}/rules", options
6
+ end
7
+ alias :list_policy_rules :policy_rules
8
+ alias :list_rules :policy_rules
9
+
10
+ def policy_rule(policy_id, id, options={})
11
+ get "policies/#{policy_id}/rules/#{id}", options
12
+ end
13
+ alias :rule :policy_rule
14
+
15
+ def create_policy_rule(assignment_id, loop_limit, options={})
16
+ post "policies", options.merge({name: name, loop_limit: loop_limit})
17
+ end
18
+ alias :create_rule :create_policy_rule
19
+
20
+ def update_policy_rule(policy_id, id, options={})
21
+ patch "policies/#{policy_id}/rules/#{id}", options
22
+ end
23
+ alias :update_rule :update_policy_rule
24
+
25
+ def delete_policy_rule(policy_id, id, options={})
26
+ delete "policies/#{policy_id}/rules/#{id}", options
27
+ end
28
+ alias :delete_rule :delete_policy_rule
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,62 @@
1
+ require 'multi_json'
2
+
3
+ module Revily
4
+ module Request
5
+
6
+ def delete(path, options={})
7
+ request(:delete, path, options).body
8
+ end
9
+
10
+ def get(path, options={})
11
+ response = request(:get, path, options)
12
+ body = response.body
13
+
14
+ body
15
+ end
16
+
17
+ def patch(path, options={})
18
+ request(:patch, path, options).body
19
+ end
20
+
21
+ def post(path, options={})
22
+ request(:post, path, options).body
23
+ end
24
+
25
+ def put(path, options={})
26
+ request(:put, path, options).body
27
+ end
28
+
29
+ private
30
+
31
+ def request(method, path, options={})
32
+
33
+ end path = URI.encode path
34
+
35
+ token = options.delete(:auth_token) || options.delete(:access_token)
36
+
37
+ url = options.delete(:endpoint) || api_endpoint
38
+
39
+ conn_options = {
40
+ :url => url
41
+ }
42
+
43
+ response = connection(conn_options).send(method) do |request|
44
+ request.headers['Accept'] = options.delete(:accept) || "application/vnd.revily.v#{DEFAULT_API_VERSION}+json"
45
+
46
+ request.headers['Authorization'] = "token #{token}" if token
47
+
48
+ case method
49
+ when :get
50
+ request.url(path, options)
51
+ when :delete, :head
52
+ request.url(path, options)
53
+ when :patch, :post, :put
54
+ request.path = path
55
+ request.body = MultiJson.dump(options) unless options.empty?
56
+ end
57
+ end
58
+
59
+ response
60
+ end
61
+
62
+ end
@@ -0,0 +1,7 @@
1
+ module Revily
2
+ class Client
3
+ module ScheduleLayers
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Revily
2
+ class Client
3
+ module Schedules
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Revily
2
+ class Client
3
+ module Services
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Revily
2
+ class Client
3
+ module Users
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module Revily
2
+ module Client
3
+ VERSION = "0.0.2"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ module Revily
2
+ class Client
3
+ module Webhooks
4
+
5
+ end
6
+ end
7
+ end
File without changes
File without changes
@@ -0,0 +1,35 @@
1
+ unless ENV['CI']
2
+ require 'spork'
3
+ end
4
+
5
+ def configure
6
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
8
+ require 'revily/client'
9
+
10
+ require 'rspec'
11
+ require 'webmock/rspec'
12
+
13
+ RSpec.configure do |config|
14
+ config.mock_with :rspec
15
+ config.use_transactional_fixtures = false
16
+ config.infer_base_class_for_anonymous_controllers = false
17
+ config.treat_symbols_as_metadata_keys_with_true_values = true
18
+ config.order = 'random'
19
+ config.run_all_when_everything_filtered = true
20
+ config.filter_run focus: true
21
+ config.filter_run_excluding external: true
22
+ end
23
+ end
24
+
25
+ def run
26
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
27
+ end
28
+
29
+ if defined?(Spork)
30
+ Spork.prefork { configure }
31
+ Spork.each_run { run }
32
+ else
33
+ configure
34
+ run
35
+ end
metadata ADDED
@@ -0,0 +1,344 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: revily-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Dan Ryan
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-07-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: cabin
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '0.6'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.6'
30
+ - !ruby/object:Gem::Dependency
31
+ name: clamp
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '0.6'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '0.6'
46
+ - !ruby/object:Gem::Dependency
47
+ name: faraday
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '0.8'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.8'
62
+ - !ruby/object:Gem::Dependency
63
+ name: faraday_middleware
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '0.9'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '0.9'
78
+ - !ruby/object:Gem::Dependency
79
+ name: hashie
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '2.0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '2.0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: multi_json
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '1.7'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '1.7'
110
+ - !ruby/object:Gem::Dependency
111
+ name: bundler
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '1.3'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '1.3'
126
+ - !ruby/object:Gem::Dependency
127
+ name: guard-rspec
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: 3.0.2
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 3.0.2
142
+ - !ruby/object:Gem::Dependency
143
+ name: guard-spork
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: libnotify
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: pry
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: rake
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: rb-fsevent
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: rb-inotify
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: rspec
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: 2.13.0
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: 2.13.0
254
+ - !ruby/object:Gem::Dependency
255
+ name: ruby_gntp
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ! '>='
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :development
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ - !ruby/object:Gem::Dependency
271
+ name: webmock
272
+ requirement: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ! '>='
276
+ - !ruby/object:Gem::Version
277
+ version: 1.13.0
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ! '>='
284
+ - !ruby/object:Gem::Version
285
+ version: 1.13.0
286
+ description: A library for communicating with the revi.ly service or self-hosted Revily
287
+ setup.
288
+ email:
289
+ - hi@revi.ly
290
+ executables: []
291
+ extensions: []
292
+ extra_rdoc_files: []
293
+ files:
294
+ - CHANGELOG.md
295
+ - CONTRIBUTING
296
+ - LICENSE
297
+ - README.md
298
+ - lib/revily/client.rb
299
+ - lib/revily/client/config.rb
300
+ - lib/revily/client/connection.rb
301
+ - lib/revily/client/incidents.rb
302
+ - lib/revily/client/integration.rb
303
+ - lib/revily/client/policies.rb
304
+ - lib/revily/client/policy_rules.rb
305
+ - lib/revily/client/request.rb
306
+ - lib/revily/client/schedule_layers.rb
307
+ - lib/revily/client/schedules.rb
308
+ - lib/revily/client/services.rb
309
+ - lib/revily/client/users.rb
310
+ - lib/revily/client/version.rb
311
+ - lib/revily/client/webhooks.rb
312
+ - spec/revily/command_spec.rb
313
+ - spec/revily_spec.rb
314
+ - spec/spec_helper.rb
315
+ homepage: https://revi.ly
316
+ licenses:
317
+ - MIT
318
+ post_install_message:
319
+ rdoc_options: []
320
+ require_paths:
321
+ - lib
322
+ required_ruby_version: !ruby/object:Gem::Requirement
323
+ none: false
324
+ requirements:
325
+ - - ! '>='
326
+ - !ruby/object:Gem::Version
327
+ version: 1.9.3
328
+ required_rubygems_version: !ruby/object:Gem::Requirement
329
+ none: false
330
+ requirements:
331
+ - - ! '>='
332
+ - !ruby/object:Gem::Version
333
+ version: 1.3.6
334
+ requirements: []
335
+ rubyforge_project:
336
+ rubygems_version: 1.8.23
337
+ signing_key:
338
+ specification_version: 3
339
+ summary: A library for communicating with the revi.ly service or self-hosted Revily
340
+ setup.
341
+ test_files:
342
+ - spec/revily/command_spec.rb
343
+ - spec/revily_spec.rb
344
+ - spec/spec_helper.rb