data247 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/VERSION +1 -1
  2. data/lib/data247.rb +15 -2
  3. data/spec/data247_spec.rb +9 -5
  4. metadata +8 -9
  5. data/.gitignore +0 -22
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -54,14 +54,27 @@ class Data247
54
54
  new(:status=>"Timeout from Data24-7")
55
55
  end
56
56
 
57
+ # When using FakeWeb for testing (which you should), use this to setup a fake response that returns the data you want.
58
+ #
59
+ # Required parameters:
60
+ # * :msisdn
61
+ #
62
+ # Optional parameters:
63
+ # * :status (defaults to "OK")
64
+ # * :username (defaults to Data247.username)
65
+ # * :password (defaults to Data247.password)
66
+ # * :operator (defaults to "T-Mobile")
67
+ # * :result (operator code, defaults to "123345", the T-Mobile operator code)
57
68
  def setup_fakeweb_response(options={})
58
69
  raise "FakeWeb is not defined. Please require 'fakeweb' and make sure the fakeweb rubygem is installed." unless defined?(FakeWeb)
59
70
  raise ArgumentError.new("Option missing: :msisdn") unless options[:msisdn]
60
- options[:status] ||= "OK"
71
+ options[:status] ||= "OK"
61
72
  options[:username]||= self.username
62
73
  options[:password]||= self.password
74
+ options[:operator] ||= "T-Mobile"
75
+ options[:result] ||= "123345"
63
76
  FakeWeb.register_uri :get, "http://api.data24-7.com/carrier.php?username=#{options[:username]}&password=#{options[:password]}&p1=#{options[:msisdn]}", :body=> <<-MSG
64
- <?xml version="1.0"?><response><results><result item="1"><status>#{options[:status]}</status><number>#{options[:msisdn]}</number><wless>y</wless><carrier_name>T-Mobile</carrier_name><carrier_id>#{options[:result]}</carrier_id><sms_address>#{options[:msisdn]}@tmomail.net</sms_address><mms_address>#{options[:msisdn]}@tmomail.net</mms_address></result></results><balance>21.5000</balance></response>
77
+ <?xml version="1.0"?><response><results><result item="1"><status>#{options[:status]}</status><number>#{options[:msisdn]}</number><wless>y</wless><carrier_name>#{options[:operator]}</carrier_name><carrier_id>#{options[:result]}</carrier_id><sms_address>#{options[:msisdn]}@tmomail.net</sms_address><mms_address>#{options[:msisdn]}@tmomail.net</mms_address></result></results><balance>21.5000</balance></response>
65
78
  MSG
66
79
  end
67
80
  end
@@ -21,16 +21,20 @@ describe "Data247" do
21
21
  end
22
22
 
23
23
  describe "the returned Data247 instance" do
24
- before(:each) do
25
- @data247 = Data247.detect("31612345678")
26
- end
24
+ let(:data247) { Data247.detect("31612345678") }
27
25
 
28
26
  it "should contain the returned operator code" do
29
- @data247.operator_code.should == "12345"
27
+ data247.operator_code.should == "12345"
30
28
  end
31
29
 
32
30
  it "should contain the returned msisdn" do
33
- @data247.msisdn.should == "31612345678"
31
+ data247.msisdn.should == "31612345678"
32
+ end
33
+
34
+ it "should contain the operator name" do
35
+ Data247.setup_fakeweb_response(:msisdn=>"31612345679", :status=>"OK", :result => 130730, :operator=>"KPN")
36
+ data = Data247.detect("31612345679")
37
+ data.operator_name.should == "KPN"
34
38
  end
35
39
  end
36
40
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data247
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease: false
4
+ hash: 19
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 0.2.0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Gerard de Brieder
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-13 00:00:00 +02:00
18
+ date: 2011-07-19 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -58,7 +58,6 @@ extra_rdoc_files:
58
58
  - LICENSE
59
59
  - README.rdoc
60
60
  files:
61
- - .gitignore
62
61
  - LICENSE
63
62
  - README.rdoc
64
63
  - Rakefile
@@ -71,8 +70,8 @@ homepage: http://github.com/smeevil/data247
71
70
  licenses: []
72
71
 
73
72
  post_install_message:
74
- rdoc_options:
75
- - --charset=UTF-8
73
+ rdoc_options: []
74
+
76
75
  require_paths:
77
76
  - lib
78
77
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -96,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
95
  requirements: []
97
96
 
98
97
  rubyforge_project:
99
- rubygems_version: 1.3.7
98
+ rubygems_version: 1.6.2
100
99
  signing_key:
101
100
  specification_version: 3
102
101
  summary: Wrapper class for Data24-7 mobile operator detection based on msisdn.
data/.gitignore DELETED
@@ -1,22 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
22
- *.gemspec