giraffi 0.1.3

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.
Files changed (81) hide show
  1. data/.document +5 -0
  2. data/.yardopts +7 -0
  3. data/Gemfile +10 -0
  4. data/HISTORY.md +6 -0
  5. data/LICENSE.md +20 -0
  6. data/README.md +114 -0
  7. data/Rakefile +53 -0
  8. data/VERSION +1 -0
  9. data/examples/setup_http_monitoring.rb +88 -0
  10. data/giraffi.gemspec +155 -0
  11. data/lib/giraffi/client/applogs.rb +25 -0
  12. data/lib/giraffi/client/axions.rb +96 -0
  13. data/lib/giraffi/client/items.rb +102 -0
  14. data/lib/giraffi/client/logs.rb +23 -0
  15. data/lib/giraffi/client/media.rb +67 -0
  16. data/lib/giraffi/client/monitoringdata.rb +25 -0
  17. data/lib/giraffi/client/my_current_status.rb +19 -0
  18. data/lib/giraffi/client/regions.rb +15 -0
  19. data/lib/giraffi/client/services.rb +97 -0
  20. data/lib/giraffi/client/trends.rb +25 -0
  21. data/lib/giraffi/client/triggers.rb +94 -0
  22. data/lib/giraffi/client.rb +73 -0
  23. data/lib/giraffi/config.rb +60 -0
  24. data/lib/giraffi/version.rb +3 -0
  25. data/lib/giraffi.rb +26 -0
  26. data/test/applogs_test.rb +55 -0
  27. data/test/axions_test.rb +149 -0
  28. data/test/client_test.rb +52 -0
  29. data/test/fixtures/add_applogs_success_response.json +3 -0
  30. data/test/fixtures/add_monitroingdata.json +1 -0
  31. data/test/fixtures/add_service_to_item.json +12 -0
  32. data/test/fixtures/add_trigger_to_service.json +1 -0
  33. data/test/fixtures/create_axion.json +1 -0
  34. data/test/fixtures/create_item.json +15 -0
  35. data/test/fixtures/create_medium.json +1 -0
  36. data/test/fixtures/find_applogs_with_no_param.json +11 -0
  37. data/test/fixtures/find_applogs_with_params.json +2 -0
  38. data/test/fixtures/find_average_trends.json +6 -0
  39. data/test/fixtures/find_axion_by_id.json +9 -0
  40. data/test/fixtures/find_axion_by_trigger.json +11 -0
  41. data/test/fixtures/find_axion_logs_with_no_param.json +6 -0
  42. data/test/fixtures/find_axion_logs_with_params.json +5 -0
  43. data/test/fixtures/find_axions_by_trigger_with_axionkind.json +1 -0
  44. data/test/fixtures/find_axions_by_trigger_without_axionkind.json +1 -0
  45. data/test/fixtures/find_axions_with_no_param.json +1 -0
  46. data/test/fixtures/find_axions_with_params.json +11 -0
  47. data/test/fixtures/find_failure_trends.json +1 -0
  48. data/test/fixtures/find_item_by_id.json +15 -0
  49. data/test/fixtures/find_items_with_no_param.json +77 -0
  50. data/test/fixtures/find_items_with_params.json +17 -0
  51. data/test/fixtures/find_media_by_axion.json +13 -0
  52. data/test/fixtures/find_media_with_no_param.json +22 -0
  53. data/test/fixtures/find_media_with_params.json +1 -0
  54. data/test/fixtures/find_medium_by_id.json +1 -0
  55. data/test/fixtures/find_monitoringdata_with_no_param.json +4 -0
  56. data/test/fixtures/find_monitoringdata_with_params.json +3 -0
  57. data/test/fixtures/find_region_by_service.json +1 -0
  58. data/test/fixtures/find_regions.json +1 -0
  59. data/test/fixtures/find_service_by_id.json +12 -0
  60. data/test/fixtures/find_service_by_item_with_params.json +14 -0
  61. data/test/fixtures/find_services_by_item_with_no_param.json +14 -0
  62. data/test/fixtures/find_services_with_no_param.json +38 -0
  63. data/test/fixtures/find_services_with_params.json +14 -0
  64. data/test/fixtures/find_trigger_by_id.json +12 -0
  65. data/test/fixtures/find_triggers_by_service.json +1 -0
  66. data/test/fixtures/find_triggers_with_no_param.json +34 -0
  67. data/test/fixtures/find_triggers_with_params.json +14 -0
  68. data/test/fixtures/my_current_status_about_fake_uri.json +6 -0
  69. data/test/fixtures/my_current_status_about_real_uri.json +6 -0
  70. data/test/giraffi_test.rb +14 -0
  71. data/test/items_test.rb +170 -0
  72. data/test/logs_test.rb +60 -0
  73. data/test/media_test.rb +104 -0
  74. data/test/monitoringdata_test.rb +53 -0
  75. data/test/my_current_status_test.rb +29 -0
  76. data/test/regions_test.rb +20 -0
  77. data/test/services_test.rb +166 -0
  78. data/test/test_helper.rb +40 -0
  79. data/test/trends_test.rb +35 -0
  80. data/test/triggers_test.rb +151 -0
  81. metadata +271 -0
@@ -0,0 +1,166 @@
1
+ require 'test_helper'
2
+
3
+ class ServicesTest < Test::Unit::TestCase
4
+ context "Testing Giraffi Ruby Gem for the Giraffi RESTful" do
5
+ setup do
6
+ @item_id = 3681
7
+ @service_id = 17972
8
+ @region_code = 'JP'
9
+ @trigger_id = '123'
10
+
11
+ @trigger_attrs = {
12
+ triggertype: "timeout",
13
+ axioninterval: "180",
14
+ options: {
15
+ time: "3"
16
+ }
17
+ }
18
+
19
+ @service_attrs = {
20
+ status: "0"
21
+ }
22
+ end
23
+
24
+ context 'about the API related to the services' do
25
+ should 'return successfully the desired services with no param' do
26
+ stub_request(:get, "#{Giraffi.endpoint}/services.json?apikey=#{apikey}").
27
+ with(:query => {}, headers: Giraffi.request_headers).
28
+ to_return(body: fixture("find_services_with_no_param.json"), headers: Giraffi.request_headers)
29
+
30
+ giraffi = Giraffi.new({apikey: apikey})
31
+ response = giraffi.find_services({})
32
+ assert response.ok?
33
+ assert_equal JSON.parse(response.body).size, 3
34
+ end
35
+
36
+ should 'return successfully the desired service with params' do
37
+ stub_request(:get, "#{Giraffi.endpoint}/services.json?apikey=#{apikey}").
38
+ with(:query => {:item_id => @item_id.to_s}, headers: Giraffi.request_headers).
39
+ to_return(body: fixture("find_services_with_params.json"))
40
+
41
+ giraffi = Giraffi.new({apikey: apikey})
42
+ response = giraffi.find_services({item_id: "#{@item_id}"})
43
+ assert response.ok?
44
+ assert_equal JSON.parse(response.body)[0]['service']['item_id'], @item_id
45
+ end
46
+
47
+ should 'return successfully the desired service by the numerical ID' do
48
+ stub_request(:get, "#{Giraffi.endpoint}/services/#{@service_id}.json?apikey=#{apikey}").
49
+ with(headers: Giraffi.request_headers).
50
+ to_return(body: fixture("find_service_by_id.json"))
51
+
52
+ giraffi = Giraffi.new({apikey: apikey})
53
+ response = giraffi.find_service(@service_id)
54
+ assert response.ok?
55
+ assert_equal JSON.parse(response.body)['service']['id'], @service_id
56
+ end
57
+
58
+ should 'return successfully the region related to the service' do
59
+ stub_request(:get, "#{Giraffi.endpoint}/services/#{@service_id}/regions.json?apikey=#{apikey}").
60
+ with(headers: Giraffi.request_headers).
61
+ to_return(body: fixture("find_region_by_service.json"))
62
+
63
+ giraffi = Giraffi.new({apikey: apikey})
64
+ response = giraffi.find_region_by_service(@service_id)
65
+ assert response.ok?
66
+ assert_equal @region_code, JSON.parse(response.body)[0]['region']['code']
67
+ end
68
+
69
+ should 'return successfully the triggers related to the service' do
70
+ stub_request(:get, "#{Giraffi.endpoint}/services/#{@service_id}/triggers.json?apikey=#{apikey}").
71
+ with(headers: Giraffi.request_headers).
72
+ to_return(body: fixture("find_triggers_by_service.json"))
73
+
74
+ giraffi = Giraffi.new({apikey: apikey})
75
+ response = giraffi.find_triggers_by_service(@service_id)
76
+ assert response.ok?
77
+ assert_equal JSON.parse(response.body)[0]['trigger']['triggertype'], 'timeout'
78
+ end
79
+
80
+ should 'add successfully a trigger to the desired service' do
81
+ stub_request(:post, "#{Giraffi.endpoint}/services/#{@service_id}/triggers.json?apikey=#{apikey}").
82
+ with(:query => {:trigger => @trigger_attrs}, headers: Giraffi.request_headers).
83
+ to_return(body: fixture("add_trigger_to_service.json"))
84
+
85
+ giraffi = Giraffi.new({apikey: apikey})
86
+ response = giraffi.add_trigger_to_service(@service_id, @trigger_attrs)
87
+ assert response.ok?
88
+ assert_equal JSON.parse(response.body)['trigger']['triggertype'], 'timeout'
89
+ end
90
+
91
+ should 'update successfully the desired service' do
92
+ stub_request(:put, "#{Giraffi.endpoint}/services/#{@service_id}.json?apikey=#{apikey}").
93
+ with(:body => {}, :query => {:service => @service_attrs}, headers: Giraffi.request_headers).
94
+ to_return(body: {})
95
+
96
+ giraffi = Giraffi.new({apikey: apikey})
97
+ response = giraffi.update_service(@service_id, @service_attrs)
98
+ assert response.ok?
99
+ assert response.body == {}
100
+ end
101
+
102
+ should 'update successfully the region related to the service' do
103
+ stub_request(:put, "#{Giraffi.endpoint}/services/#{@service_id}/regions/JP.json?apikey=#{apikey}").
104
+ with(:body => {}, headers: Giraffi.request_headers).
105
+ to_return(body: {})
106
+
107
+ giraffi = Giraffi.new({apikey: apikey})
108
+ response = giraffi.update_region_of_service(@service_id, 'JP')
109
+ assert_nothing_raised ArgumentError do
110
+ giraffi.update_region_of_service(@service_id, 'JP')
111
+ end
112
+ assert response.ok?
113
+ assert response.body == {}
114
+ end
115
+
116
+ should 'raise an error when the number of arguments for `update_region_of_service` is not 2' do
117
+ giraffi = Giraffi.new({apikey: apikey})
118
+ assert_raise ArgumentError do
119
+ giraffi.update_region_of_service(@service_id)
120
+ end
121
+ end
122
+
123
+ should 'not update the region related to the service with unknown regions code' do
124
+ stub_request(:put, "#{Giraffi.endpoint}/services/#{@service_id}/regions/US.json?apikey=#{apikey}").
125
+ with(:body => {}, headers: Giraffi.request_headers).
126
+ to_return(body: '{"error":"This id is not found."}')
127
+
128
+ giraffi = Giraffi.new({apikey: apikey})
129
+ response = giraffi.update_region_of_service(@service_id, 'US')
130
+ assert response.ok?
131
+ assert_equal JSON.parse(response.body)['error'], "This id is not found."
132
+ end
133
+
134
+ should 'delete successfully the service' do
135
+ stub_request(:delete, "#{Giraffi.endpoint}/services/#{@service_id}.json?apikey=#{apikey}").
136
+ to_return(:status => 200, :body => {})
137
+
138
+ giraffi = Giraffi.new({apikey: apikey})
139
+ response = giraffi.destroy_service(@service_id)
140
+ assert response.ok?
141
+ assert response.body == {}
142
+ end
143
+
144
+ should 'remove successfully a trigger from the service' do
145
+ stub_request(:delete, "#{Giraffi.endpoint}/services/#{@service_id}/triggers/#{@trigger_id}.json?apikey=#{apikey}").
146
+ to_return(:body => {})
147
+
148
+ giraffi = Giraffi.new({apikey: apikey})
149
+ response = giraffi.remove_trigger_from_service(@service_id, @trigger_id)
150
+ assert_nothing_raised ArgumentError do
151
+ giraffi.remove_trigger_from_service(@service_id, @trigger_id)
152
+ end
153
+ assert response.ok?
154
+ assert response.body == {}
155
+ end
156
+
157
+ should 'raise an error when the number of arguments for `remove_trigger_from_service` is not 2' do
158
+ giraffi = Giraffi.new({apikey: apikey})
159
+ assert_raise ArgumentError do
160
+ giraffi.remove_trigger_from_service(@service_id)
161
+ end
162
+ end
163
+ end
164
+
165
+ end
166
+ end
@@ -0,0 +1,40 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+
4
+ begin
5
+ Bundler.setup(:default, :development)
6
+ rescue Bundler::BundlerError => e
7
+ $stderr.puts e.message
8
+ $stderr.puts "Run `bundle install` to install missing gems"
9
+ exit e.status_code
10
+ end
11
+
12
+ require 'test/unit'
13
+ require 'json'
14
+ require 'shoulda'
15
+ require 'webmock/test_unit'
16
+ require 'vcr'
17
+
18
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
19
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
20
+
21
+ # VCR that records the test suite's HTTP interactions and replay them
22
+ VCR.config do |c|
23
+ c.cassette_library_dir = 'test/fixtures/vcr_cassettes'
24
+ c.stub_with :webmock
25
+ end
26
+
27
+ require 'giraffi'
28
+
29
+ def fixture(filename)
30
+ return '' if filename == ''
31
+ file_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/' + filename)
32
+ File.read(file_path)
33
+ end
34
+
35
+ def apikey
36
+ 'test_key'
37
+ end
38
+
39
+ class Test::Unit::TestCase
40
+ end
@@ -0,0 +1,35 @@
1
+ require 'test_helper'
2
+
3
+ class TrendsTest < Test::Unit::TestCase
4
+ context "Testing Giraffi Ruby Gem for the Giraffi RESTful" do
5
+ setup do
6
+ @service_id = 17972
7
+ end
8
+
9
+ context 'about the API related to the trend data' do
10
+ should 'return the trend data about `average` related to the given service id' do
11
+ stub_request(:get, "#{Giraffi.endpoint}/trends/average.json?apikey=#{apikey}").
12
+ with(query: {service_id: @service_id.to_s}, headers: Giraffi.request_headers).
13
+ to_return(body: fixture('find_average_trends.json'))
14
+
15
+ giraffi = Giraffi.new({apikey: apikey})
16
+ response = giraffi.find_average_trends({service_id: @service_id.to_s})
17
+ assert response.ok?
18
+ assert_equal JSON.parse(response.body).size, 4
19
+ end
20
+
21
+ should 'return the trend data about `failure` related to the given service id' do
22
+ stub_request(:get, "#{Giraffi.endpoint}/trends/failure.json?apikey=#{apikey}").
23
+ with(query: {service_id: @service_id.to_s}, headers: Giraffi.request_headers).
24
+ to_return(body: fixture('find_failure_trends.json'))
25
+
26
+ giraffi = Giraffi.new({apikey: apikey})
27
+ response = giraffi.find_failure_trends({service_id: @service_id.to_s})
28
+ assert response.ok?
29
+ assert_equal JSON.parse(response.body).size, 2
30
+ assert_equal JSON.parse(response.body)[0]['failed_time'], 4515
31
+ end
32
+ end
33
+
34
+ end
35
+ end
@@ -0,0 +1,151 @@
1
+ require 'test_helper'
2
+
3
+ class TriggersGiraffi < Test::Unit::TestCase
4
+ context "Testing Giraffi Ruby Gem for the Giraffi RESTful" do
5
+ setup do
6
+ @axion_id = '425'
7
+ @trigger_id = '123'
8
+ end
9
+
10
+ context 'about the API related to the triggers' do
11
+ should 'return successfully the desired triggers with no param' do
12
+ stub_request(:get, "#{Giraffi.endpoint}/triggers.json?apikey=#{apikey}").
13
+ with(headers: Giraffi.request_headers).
14
+ to_return(body: fixture("find_triggers_with_no_param.json"))
15
+
16
+ giraffi = Giraffi.new({apikey: apikey})
17
+ response = giraffi.find_triggers
18
+ assert response.ok?
19
+ assert_equal JSON.parse(response.body).size, 3
20
+ assert_equal JSON.parse(response.body)[0]['trigger']['triggertype'], "timeout"
21
+ end
22
+
23
+ should 'return successfully the desired triggers with params' do
24
+ stub_request(:get, "#{Giraffi.endpoint}/triggers.json?apikey=#{apikey}").
25
+ with(query: {triggertype: "traffic"}, headers: Giraffi.request_headers).
26
+ to_return(body: fixture("find_triggers_with_params.json"))
27
+
28
+ giraffi = Giraffi.new({apikey: apikey})
29
+ response = giraffi.find_triggers({triggertype: "traffic"})
30
+ assert response.ok?
31
+ assert_equal JSON.parse(response.body).size, 1
32
+ assert_equal JSON.parse(response.body)[0]['trigger']['triggertype'], "traffic"
33
+ end
34
+
35
+ should 'return successfully the desired trigger by the numerical ID' do
36
+ stub_request(:get, "#{Giraffi.endpoint}/triggers/#{@trigger_id}.json?apikey=#{apikey}").
37
+ with(headers: Giraffi.request_headers).
38
+ to_return(body: fixture("find_trigger_by_id.json"))
39
+
40
+ giraffi = Giraffi.new({apikey: apikey})
41
+ response = giraffi.find_trigger(@trigger_id)
42
+ assert response.ok?
43
+ assert_equal JSON.parse(response.body).size, 1
44
+ assert_equal JSON.parse(response.body)['trigger']['id'], @trigger_id.to_i
45
+ end
46
+
47
+ should 'return successfully the axions related to the trigger without the `axionkind` param' do
48
+ stub_request(:get, "#{Giraffi.endpoint}/triggers/#{@trigger_id}/axions.json?apikey=#{apikey}").
49
+ with(headers: Giraffi.request_headers).
50
+ to_return(body: fixture("find_axions_by_trigger_without_axionkind.json"))
51
+
52
+ giraffi = Giraffi.new({apikey: apikey})
53
+ response = giraffi.find_axions_by_trigger(@trigger_id)
54
+ assert response.ok?
55
+ assert_equal JSON.parse(response.body).size, 1
56
+ assert_equal JSON.parse(response.body)[0]['axion']['id'], @axion_id.to_i
57
+ end
58
+
59
+ should 'return successfully the axions related to the trigger with the `axionkind` param' do
60
+ stub_request(:get, "#{Giraffi.endpoint}/triggers/#{@trigger_id}/axions.json?apikey=#{apikey}").
61
+ with(:query => {axionkind: "problem"}, headers: Giraffi.request_headers).
62
+ to_return(body: fixture("find_axions_by_trigger_with_axionkind.json"))
63
+
64
+ giraffi = Giraffi.new({apikey: apikey})
65
+ response = giraffi.find_axions_by_trigger(@trigger_id, "problem")
66
+ assert response.ok?
67
+ assert_equal JSON.parse(response.body).size, 1
68
+ assert_equal JSON.parse(response.body)[0]['axion']['id'], @axion_id.to_i
69
+ end
70
+
71
+ should 'raise an error when no argument is given to `find_axions_by_trigger`' do
72
+ giraffi = Giraffi.new({apikey: apikey})
73
+ assert_raise ArgumentError do
74
+ giraffi.find_axions_by_trigger
75
+ end
76
+ end
77
+
78
+ should 'execute successfully all the axions related to the triggers' do
79
+ stub_request(:post, "#{Giraffi.endpoint}/triggers/#{@trigger_id}/axions/execute.json?apikey=#{apikey}").
80
+ with(headers: Giraffi.request_headers).
81
+ to_return(status: 200, body: "[#{@axion_id}]\n")
82
+
83
+ giraffi = Giraffi.new({apikey: apikey})
84
+ response = giraffi.execute_axions_by_trigger(@trigger_id)
85
+ assert response.ok?
86
+ assert_equal response.body, "[#{@axion_id}]\n"
87
+ end
88
+
89
+ should 'update successfully the desired trigger' do
90
+ stub_request(:put, "#{Giraffi.endpoint}/triggers/#{@trigger_id}.json?apikey=#{apikey}").
91
+ with(body: {}, query: {trigger: {options: {time: "10"}}}, headers: Giraffi.request_headers).
92
+ to_return(status: 200, body: {})
93
+
94
+ giraffi = Giraffi.new({apikey: apikey})
95
+ response = giraffi.update_trigger(@trigger_id, {options: {time: "10"}})
96
+ assert response.ok?
97
+ assert response.body == {}
98
+ end
99
+
100
+ should 'update successfully the axion related to the trigger' do
101
+ stub_request(:put, "#{Giraffi.endpoint}/triggers/#{@trigger_id}/axions/#{@axion_id}.json?apikey=#{apikey}").
102
+ with(body: {}, query: { axionkind: "recovery" }, headers: Giraffi.request_headers).
103
+ to_return(status: 204, body: {})
104
+
105
+ giraffi = Giraffi.new({apikey: apikey})
106
+ response = giraffi.update_axion_of_trigger(@trigger_id, @axion_id, "recovery")
107
+ assert_equal response.code, 204
108
+ assert response.body == {}
109
+ end
110
+
111
+ should 'raise an error when the number of arguments for `update_axion_of_trigger` is not 3' do
112
+ giraffi = Giraffi.new({apikey: apikey})
113
+ assert_raise ArgumentError do
114
+ giraffi.update_axion_of_trigger(@trigger_id)
115
+ end
116
+ end
117
+
118
+ should 'delete successfully the trigger' do
119
+ stub_request(:delete, "#{Giraffi.endpoint}/triggers/#{@trigger_id}.json?apikey=#{apikey}").
120
+ to_return(:status => 200, :body => {})
121
+
122
+ giraffi = Giraffi.new({apikey: apikey})
123
+ response = giraffi.destroy_trigger(@trigger_id)
124
+ assert response.ok?
125
+ assert response.body == {}
126
+ end
127
+
128
+ should 'remove successfully a axion from the trigger' do
129
+ stub_request(:delete, "#{Giraffi.endpoint}/triggers/#{@trigger_id}/axions/#{@axion_id}.json?apikey=#{apikey}").
130
+ with(headers: Giraffi.request_headers).
131
+ to_return(status: 200, body: {})
132
+
133
+ giraffi = Giraffi.new({apikey: apikey})
134
+ response = giraffi.remove_axion_from_trigger(@trigger_id, @axion_id)
135
+ assert_nothing_raised ArgumentError do
136
+ giraffi.remove_axion_from_trigger(@trigger_id, @axion_id)
137
+ end
138
+ assert response.ok?
139
+ assert response.body == {}
140
+ end
141
+
142
+ should 'raise an error when the number of arguments for `remove_axion_from_trigger` is not 2' do
143
+ giraffi = Giraffi.new({apikey: apikey})
144
+ assert_raise ArgumentError do
145
+ giraffi.remove_axion_from_trigger(@trigger_id)
146
+ end
147
+ end
148
+ end
149
+
150
+ end
151
+ end
metadata ADDED
@@ -0,0 +1,271 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: giraffi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - azukiwasher
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-12-09 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: multi_json
16
+ requirement: &8288920 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '1.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *8288920
25
+ - !ruby/object:Gem::Dependency
26
+ name: httparty
27
+ requirement: &8287840 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0.8'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *8287840
36
+ - !ruby/object:Gem::Dependency
37
+ name: shoulda
38
+ requirement: &8286500 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *8286500
47
+ - !ruby/object:Gem::Dependency
48
+ name: jeweler
49
+ requirement: &8284200 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *8284200
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &8281420 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *8281420
69
+ - !ruby/object:Gem::Dependency
70
+ name: rcov
71
+ requirement: &8278720 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *8278720
80
+ - !ruby/object:Gem::Dependency
81
+ name: webmock
82
+ requirement: &8275780 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *8275780
91
+ - !ruby/object:Gem::Dependency
92
+ name: vcr
93
+ requirement: &8273500 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *8273500
102
+ - !ruby/object:Gem::Dependency
103
+ name: turn
104
+ requirement: &9239140 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *9239140
113
+ - !ruby/object:Gem::Dependency
114
+ name: watchr
115
+ requirement: &9303940 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *9303940
124
+ - !ruby/object:Gem::Dependency
125
+ name: rb-fsevent
126
+ requirement: &9317760 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *9317760
135
+ - !ruby/object:Gem::Dependency
136
+ name: redcarpet
137
+ requirement: &9328160 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: *9328160
146
+ - !ruby/object:Gem::Dependency
147
+ name: yard
148
+ requirement: &10160740 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: *10160740
157
+ description: A Ruby wrapper for the Giraffi API
158
+ email: azukiwasher@yahoo.co.jp
159
+ executables: []
160
+ extensions: []
161
+ extra_rdoc_files:
162
+ - LICENSE.md
163
+ - README.md
164
+ files:
165
+ - .document
166
+ - .yardopts
167
+ - Gemfile
168
+ - HISTORY.md
169
+ - LICENSE.md
170
+ - README.md
171
+ - Rakefile
172
+ - VERSION
173
+ - examples/setup_http_monitoring.rb
174
+ - giraffi.gemspec
175
+ - lib/giraffi.rb
176
+ - lib/giraffi/client.rb
177
+ - lib/giraffi/client/applogs.rb
178
+ - lib/giraffi/client/axions.rb
179
+ - lib/giraffi/client/items.rb
180
+ - lib/giraffi/client/logs.rb
181
+ - lib/giraffi/client/media.rb
182
+ - lib/giraffi/client/monitoringdata.rb
183
+ - lib/giraffi/client/my_current_status.rb
184
+ - lib/giraffi/client/regions.rb
185
+ - lib/giraffi/client/services.rb
186
+ - lib/giraffi/client/trends.rb
187
+ - lib/giraffi/client/triggers.rb
188
+ - lib/giraffi/config.rb
189
+ - lib/giraffi/version.rb
190
+ - test/applogs_test.rb
191
+ - test/axions_test.rb
192
+ - test/client_test.rb
193
+ - test/fixtures/add_applogs_success_response.json
194
+ - test/fixtures/add_monitroingdata.json
195
+ - test/fixtures/add_service_to_item.json
196
+ - test/fixtures/add_trigger_to_service.json
197
+ - test/fixtures/create_axion.json
198
+ - test/fixtures/create_item.json
199
+ - test/fixtures/create_medium.json
200
+ - test/fixtures/find_applogs_with_no_param.json
201
+ - test/fixtures/find_applogs_with_params.json
202
+ - test/fixtures/find_average_trends.json
203
+ - test/fixtures/find_axion_by_id.json
204
+ - test/fixtures/find_axion_by_trigger.json
205
+ - test/fixtures/find_axion_logs_with_no_param.json
206
+ - test/fixtures/find_axion_logs_with_params.json
207
+ - test/fixtures/find_axions_by_trigger_with_axionkind.json
208
+ - test/fixtures/find_axions_by_trigger_without_axionkind.json
209
+ - test/fixtures/find_axions_with_no_param.json
210
+ - test/fixtures/find_axions_with_params.json
211
+ - test/fixtures/find_failure_trends.json
212
+ - test/fixtures/find_item_by_id.json
213
+ - test/fixtures/find_items_with_no_param.json
214
+ - test/fixtures/find_items_with_params.json
215
+ - test/fixtures/find_media_by_axion.json
216
+ - test/fixtures/find_media_with_no_param.json
217
+ - test/fixtures/find_media_with_params.json
218
+ - test/fixtures/find_medium_by_id.json
219
+ - test/fixtures/find_monitoringdata_with_no_param.json
220
+ - test/fixtures/find_monitoringdata_with_params.json
221
+ - test/fixtures/find_region_by_service.json
222
+ - test/fixtures/find_regions.json
223
+ - test/fixtures/find_service_by_id.json
224
+ - test/fixtures/find_service_by_item_with_params.json
225
+ - test/fixtures/find_services_by_item_with_no_param.json
226
+ - test/fixtures/find_services_with_no_param.json
227
+ - test/fixtures/find_services_with_params.json
228
+ - test/fixtures/find_trigger_by_id.json
229
+ - test/fixtures/find_triggers_by_service.json
230
+ - test/fixtures/find_triggers_with_no_param.json
231
+ - test/fixtures/find_triggers_with_params.json
232
+ - test/fixtures/my_current_status_about_fake_uri.json
233
+ - test/fixtures/my_current_status_about_real_uri.json
234
+ - test/giraffi_test.rb
235
+ - test/items_test.rb
236
+ - test/logs_test.rb
237
+ - test/media_test.rb
238
+ - test/monitoringdata_test.rb
239
+ - test/my_current_status_test.rb
240
+ - test/regions_test.rb
241
+ - test/services_test.rb
242
+ - test/test_helper.rb
243
+ - test/trends_test.rb
244
+ - test/triggers_test.rb
245
+ homepage: http://github.com/giraffi/giraffi
246
+ licenses:
247
+ - MIT
248
+ post_install_message:
249
+ rdoc_options: []
250
+ require_paths:
251
+ - lib
252
+ required_ruby_version: !ruby/object:Gem::Requirement
253
+ none: false
254
+ requirements:
255
+ - - ! '>='
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ required_rubygems_version: !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ! '>='
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ requirements: []
265
+ rubyforge_project:
266
+ rubygems_version: 1.8.10
267
+ signing_key:
268
+ specification_version: 3
269
+ summary: A Ruby wrapper for the Giraffi API
270
+ test_files: []
271
+ has_rdoc: