sigimera 0.0.1.rc1 → 0.0.1.rc2

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/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "http://rubygems.org"
1
+ source :rubygems
2
2
 
3
3
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sigimera (0.0.1.rc1)
4
+ sigimera (0.0.1.rc2)
5
5
  json
6
6
  nokogiri
7
7
 
@@ -10,6 +10,7 @@ GEM
10
10
  specs:
11
11
  diff-lcs (1.1.3)
12
12
  json (1.7.5)
13
+ multi_json (1.3.7)
13
14
  nokogiri (1.5.5)
14
15
  rake (10.0.2)
15
16
  rspec (2.12.0)
@@ -20,6 +21,10 @@ GEM
20
21
  rspec-expectations (2.12.0)
21
22
  diff-lcs (~> 1.1.3)
22
23
  rspec-mocks (2.12.0)
24
+ simplecov (0.7.1)
25
+ multi_json (~> 1.0)
26
+ simplecov-html (~> 0.7.1)
27
+ simplecov-html (0.7.1)
23
28
  spork (0.9.2)
24
29
 
25
30
  PLATFORMS
@@ -29,4 +34,5 @@ DEPENDENCIES
29
34
  rake
30
35
  rspec
31
36
  sigimera!
37
+ simplecov
32
38
  spork
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2012 Alex Oberhauser
1
+ Copyright 2012 Sigimera
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -38,6 +38,8 @@ irb
38
38
  >> client = Sigimera::Client.new("YourSecretToken")
39
39
  >> puts client.get_latest_crises
40
40
  >> puts client.get_latest_crises(type = "earthquakes")
41
+ >> puts client.get_crises_stat
42
+ >> puts client.get_user_stat
41
43
  ```
42
44
 
43
45
 
@@ -19,7 +19,7 @@ module Sigimera
19
19
  # @return [String] The first found version string of the API
20
20
  def self.get_api_version
21
21
  client = Sigimera::Client.new
22
- response = client.head("/public/crises")
22
+ response = client.head("/public/crises.json")
23
23
  response.get_fields("X-API-Version").first.to_s if response.key?("X-API-Version")
24
24
  end
25
25
 
@@ -29,7 +29,7 @@ module Sigimera
29
29
  # @return [Array] Returns an array of crises objects in JSON
30
30
  def self.get_public_crises
31
31
  client = Sigimera::Client.new
32
- response = client.get("/public/crises")
32
+ response = client.get("/public/crises.json")
33
33
  JSON.parse response.body if response
34
34
  end
35
35
 
@@ -48,10 +48,26 @@ module Sigimera
48
48
  # @param [String] type The crises type, e.g. earthquake, flood, cyclone, volcanoe
49
49
  # @return [Array] Returns an array of crises objects in JSON
50
50
  def get_latest_crises(type = nil)
51
- endpoint = "/v1/crises?auth_token=#{@auth_token}"
51
+ endpoint = "/v1/crises.json?auth_token=#{@auth_token}"
52
52
  endpoint += "&type=#{type}" if type
53
53
  response = self.get(endpoint)
54
54
  JSON.parse response.body if response
55
55
  end
56
+
57
+ # This method returns statistic information about the crises.
58
+ #
59
+ # @return [Array] Returns the crises statistic as JSON object
60
+ def get_crises_stat
61
+ response = self.get("/v1/stats/crises.json?auth_token=#{@auth_token}")
62
+ JSON.parse response.body if response
63
+ end
64
+
65
+ # This method returns statistic information about user.
66
+ #
67
+ # @return [Array] Returns the user statistic as JSON object
68
+ def get_user_stat
69
+ response = self.get("/v1/stats/users.json?auth_token=#{@auth_token}")
70
+ JSON.parse response.body if response
71
+ end
56
72
  end
57
73
  end
@@ -16,7 +16,7 @@ module Sigimera
16
16
  TINY = 1
17
17
 
18
18
  # The extra string marks the version as beta, alpha, rcX, ...
19
- EXTRA = "rc1"
19
+ EXTRA = "rc2"
20
20
 
21
21
  # Concatenates the version to a point separated string
22
22
  STRING = [MAJOR, MINOR, TINY].join('.')
data/sigimera.gemspec CHANGED
@@ -14,10 +14,11 @@ Gem::Specification.new do |s|
14
14
  s.files = `git ls-files`.split("\n")
15
15
  s.require_paths = [ "lib" ]
16
16
 
17
- s.add_dependency "json"
18
- s.add_dependency "nokogiri" # XML Parsing
17
+ s.add_runtime_dependency "json"
18
+ s.add_runtime_dependency "nokogiri" # XML Parsing
19
19
 
20
20
  s.add_development_dependency "rake"
21
21
  s.add_development_dependency "rspec"
22
22
  s.add_development_dependency "spork"
23
+ s.add_development_dependency "simplecov"
23
24
  end
@@ -97,4 +97,24 @@ describe Sigimera::Client do
97
97
  crisis['_id'].should_not be_empty
98
98
  end
99
99
  end
100
+
101
+ it "#get_crises_stat" do
102
+ sleep 1 # Respect the courtesy limit and wait for one second
103
+ client = Sigimera::Client.new(auth_token = @auth_token)
104
+ crises_stat = client.get_crises_stat
105
+ crises_stat['first_crisis_at'].should eql("2012-03-07T00:00:00Z")
106
+ crises_stat['total_crises'].class.should eql(Fixnum)
107
+ end
108
+
109
+ it "#get_user_stat" do
110
+ sleep 1 # Respect the courtesy limit and wait for one second
111
+ client = Sigimera::Client.new(auth_token = @auth_token)
112
+ user_stat = client.get_user_stat
113
+ number_of_calls = user_stat['api_calls']['number_of_calls']
114
+ number_of_calls.should > 0
115
+
116
+ sleep 1 # Respect the courtesy limit and wait for one second
117
+ second_user_stat = client.get_user_stat
118
+ second_user_stat['api_calls']['number_of_calls'].should == (number_of_calls + 1)
119
+ end
100
120
  end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,13 @@
1
1
  require 'spork'
2
2
 
3
3
  Spork.prefork do
4
+ require 'simplecov'
5
+ SimpleCov.start
6
+
4
7
  RSpec.configure do |config|
5
8
  config.mock_with :rspec
6
9
  end
10
+
7
11
  end
8
12
 
9
13
  require "sigimera"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sigimera
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.rc1
4
+ version: 0.0.1.rc2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -91,6 +91,22 @@ dependencies:
91
91
  - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: simplecov
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
94
110
  description: This is a ruby library that encapsulates access to the Sigimera REST
95
111
  API.
96
112
  email:
@@ -129,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
145
  version: '0'
130
146
  segments:
131
147
  - 0
132
- hash: 4279827424064706299
148
+ hash: -3216827614524362085
133
149
  required_rubygems_version: !ruby/object:Gem::Requirement
134
150
  none: false
135
151
  requirements: