mensario 0.1.0 → 0.2.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/README.markdown +22 -1
  2. data/VERSION +1 -1
  3. data/lib/mensario.rb +35 -2
  4. data/mensario.gemspec +5 -5
  5. metadata +13 -13
@@ -7,7 +7,20 @@ This gem allows us to perform the following operations through the mensario API:
7
7
  * Cancel a programmed message
8
8
 
9
9
  ## Config
10
-
10
+ There are three ways to set configuration parameters of Mensario:
11
+
12
+ ### Separately
13
+ Mensario::license( "PERT123446423" )
14
+ Mensario::username( "caer3456" )
15
+
16
+ ### Block of code
17
+ Mensario::set_config do |m|
18
+ m.license( "PERT123446423" )
19
+ m.username( "caer3456" )
20
+ m.password( "frt3gg5" )
21
+ end
22
+
23
+ ### Through a YAML file
11
24
  By default, Mensario expects a YAML configuration file in ```config/mensario.yml``` root path of our application.
12
25
 
13
26
  The YAML file expects to have the following scheme:
@@ -81,6 +94,14 @@ For example:
81
94
 
82
95
  Mensario::destroy 12345678
83
96
 
97
+ ## Check balance remaining
98
+
99
+ Method ```Mensario::balance``` allow us to consult balance
100
+
101
+ For example:
102
+
103
+ Mensario::balance
104
+
84
105
  ## Handle errors
85
106
 
86
107
  If a request error occurs or the api responds with an error, Mensario throw an exception of type ```MensarioException```. Depending on the type of error, there are several exceptions that inherit from ```MensarioException```:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -36,7 +36,40 @@ class Mensario
36
36
  API_PATH = '/sem/api/api.do'
37
37
 
38
38
  # Store config
39
- @@config
39
+ @@config = {}
40
+
41
+ # Use undefined methods to set the values of license number,
42
+ # username or password
43
+ #
44
+ # @example Valid calls:
45
+ # Mensario.license( "PTIY124434534" )
46
+ # Mensario.username( "crnb3222" )
47
+ # Mensario.password( "smsacblwenk" )
48
+ # @example Invalid calls:
49
+ # Mensario.license = "PTIY124434534"
50
+ #
51
+ # @param [Symbol] method Method called that is missing
52
+ # @param [Array] params Params in the call
53
+ # @param [Block] block Block code in method
54
+ def self.method_missing( method, *params, &block )
55
+ raise NoMethodError, "undefined method #{method}" unless [:license, :username, :password].include? method
56
+ raise ArgumentError, "wrong number of arguments(#{params.length} for 1)" unless params.length == 1
57
+ @@config[method] = params[0]
58
+ end
59
+
60
+ # Set configuration parameters license, username and password
61
+ # through a block
62
+ #
63
+ # @example
64
+ # Mensario::set_config do |m|
65
+ # m.license( "ASDER1234512" )
66
+ # m.username( "caee4444" )
67
+ # m.password( "xcderfa23" )
68
+ # end
69
+ def self.set_config
70
+ yield self
71
+ end
72
+
40
73
 
41
74
  # Do de api call with all data and process the response
42
75
  #
@@ -45,7 +78,7 @@ class Mensario
45
78
  # @return [Hash] response hash
46
79
  def self.api_call(task, data = {})
47
80
  #Get config
48
- self::config unless @@config
81
+ self::config unless @@config[:license] && @@config[:username] && @@config[:password]
49
82
 
50
83
  basic = { 'task' => ["#{task}"],
51
84
  'license' => {
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mensario}
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Javier Aranda", "Juan Antonio Galisteo"]
12
- s.date = %q{2011-06-02}
12
+ s.date = %q{2011-06-06}
13
13
  s.description = %q{This gem allow us to send, check status and destroy sms using the Mensario service api}
14
14
  s.email = ["jaranda@nosolosoftware.biz", "jgalisteo@nosolosoftware.biz"]
15
15
  s.extra_rdoc_files = [
@@ -36,28 +36,28 @@ Gem::Specification.new do |s|
36
36
 
37
37
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
38
38
  s.add_runtime_dependency(%q<xml-simple>, ["~> 1.0.15"])
39
+ s.add_runtime_dependency(%q<yard>, ["~> 0.7.1"])
39
40
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
40
41
  s.add_development_dependency(%q<rake>, ["~> 0.8.7"])
41
42
  s.add_development_dependency(%q<cucumber>, ["~> 0.10.2"])
42
43
  s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
43
- s.add_development_dependency(%q<yard>, ["~> 0.7.1"])
44
44
  s.add_development_dependency(%q<rdiscount>, ["~> 1.6.8"])
45
45
  else
46
46
  s.add_dependency(%q<xml-simple>, ["~> 1.0.15"])
47
+ s.add_dependency(%q<yard>, ["~> 0.7.1"])
47
48
  s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
48
49
  s.add_dependency(%q<rake>, ["~> 0.8.7"])
49
50
  s.add_dependency(%q<cucumber>, ["~> 0.10.2"])
50
51
  s.add_dependency(%q<rspec>, ["~> 2.6.0"])
51
- s.add_dependency(%q<yard>, ["~> 0.7.1"])
52
52
  s.add_dependency(%q<rdiscount>, ["~> 1.6.8"])
53
53
  end
54
54
  else
55
55
  s.add_dependency(%q<xml-simple>, ["~> 1.0.15"])
56
+ s.add_dependency(%q<yard>, ["~> 0.7.1"])
56
57
  s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
57
58
  s.add_dependency(%q<rake>, ["~> 0.8.7"])
58
59
  s.add_dependency(%q<cucumber>, ["~> 0.10.2"])
59
60
  s.add_dependency(%q<rspec>, ["~> 2.6.0"])
60
- s.add_dependency(%q<yard>, ["~> 0.7.1"])
61
61
  s.add_dependency(%q<rdiscount>, ["~> 1.6.8"])
62
62
  end
63
63
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: mensario
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Javier Aranda
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-06-02 00:00:00 Z
14
+ date: 2011-06-06 00:00:00 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: xml-simple
@@ -25,57 +25,57 @@ dependencies:
25
25
  prerelease: false
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
28
- name: jeweler
28
+ name: yard
29
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: 1.6.0
35
- type: :development
34
+ version: 0.7.1
35
+ type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: *id002
38
38
  - !ruby/object:Gem::Dependency
39
- name: rake
39
+ name: jeweler
40
40
  requirement: &id003 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 0.8.7
45
+ version: 1.6.0
46
46
  type: :development
47
47
  prerelease: false
48
48
  version_requirements: *id003
49
49
  - !ruby/object:Gem::Dependency
50
- name: cucumber
50
+ name: rake
51
51
  requirement: &id004 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ~>
55
55
  - !ruby/object:Gem::Version
56
- version: 0.10.2
56
+ version: 0.8.7
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: *id004
60
60
  - !ruby/object:Gem::Dependency
61
- name: rspec
61
+ name: cucumber
62
62
  requirement: &id005 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ~>
66
66
  - !ruby/object:Gem::Version
67
- version: 2.6.0
67
+ version: 0.10.2
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: *id005
71
71
  - !ruby/object:Gem::Dependency
72
- name: yard
72
+ name: rspec
73
73
  requirement: &id006 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ~>
77
77
  - !ruby/object:Gem::Version
78
- version: 0.7.1
78
+ version: 2.6.0
79
79
  type: :development
80
80
  prerelease: false
81
81
  version_requirements: *id006