r_calc 0.0.2 → 0.0.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.
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --protected
2
+ --no-private
3
+ -
4
+ LICENSE
5
+ LEGAL
data/README.md CHANGED
@@ -20,11 +20,8 @@ Or install it yourself as:
20
20
 
21
21
  To use this gem, after including this could be minimum of required code to run calculation:
22
22
 
23
- `
23
+ ```ruby
24
24
  require 'r_calc'
25
- #require 'supermodel'
26
- #require 'minitest/spec'
27
- #require 'minitest/autorun'
28
25
 
29
26
  module RCalcHelpers
30
27
  class Calculator < RCalc::FormulaProcessor
@@ -51,19 +48,38 @@ module RCalcHelpers
51
48
  end
52
49
  end
53
50
 
54
- def calculator
51
+ end
52
+ ```
53
+
54
+ After you customizaed your calculator, next in your code you can inicialize it and use it like below:
55
+ ```ruby
56
+ # storing [var,values] pair in hash
57
+ values = Hash.new
58
+ # make instance of your calculator
59
+ calc = Calculator.new do |key, val|
60
+ values[key] = val if val
61
+ values[key]
62
+ end
55
63
 
64
+ calc.eval("var1 = 12 * 12")
65
+ calc.eval("var2 = 100 * 2")
56
66
 
57
- values = Hash.new
58
- calc = Calculator.new do |key, val|
59
- values[key] = val if val
60
- values[key]
61
- end
62
- [calc, values]
63
- end
67
+ puts "total is = #{calc.eval("sum(var1, var2)")}"
68
+ # output should be:
69
+ # total is = 344
70
+
71
+ ```
72
+
73
+ Don't worry about eval, it is not evail :) the method is overwriten in parent class and will use lexical parser to build formula bevore execute it. So in case you write:
74
+
75
+ ```ruby
76
+ # try to call unix ls command
77
+ calc.eval("system('ls')")
78
+
79
+ ```
80
+
81
+ It will throw error since token is not recognised. Of course, you can implement custom gramar and include it in your calculator so it reconise system token as some function which assepts numbers and do some neath calculation
64
82
 
65
- end
66
- `
67
83
 
68
84
  ## Contributing
69
85
 
@@ -1,3 +1,3 @@
1
1
  module RCalc
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/r_calc.gemspec CHANGED
@@ -17,10 +17,10 @@ Gem::Specification.new do |gem|
17
17
 
18
18
  gem.add_development_dependency "rake"
19
19
  gem.add_development_dependency "rspec"
20
- gem.add_development_dependency "ZenTest"
21
- gem.add_development_dependency "autotest-fsevent"
22
- gem.add_development_dependency "autotest-growl"
23
- gem.add_development_dependency "minitest"
24
- gem.add_development_dependency "minitest-spec"
20
+ #gem.add_development_dependency "ZenTest"
21
+ #gem.add_development_dependency "autotest-fsevent"
22
+ #gem.add_development_dependency "autotest-growl"
23
+ #gem.add_development_dependency "minitest"
24
+ #gem.add_development_dependency "minitest-spec"
25
25
  #gem.add_development_dependency "supermodel"
26
26
  end
data/spec/r_calc_spec.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- require 'spec/spec_helper'
2
+ require 'spec_helper'
3
3
 
4
4
  describe RCalc::FormulaProcessor do
5
5
 
metadata CHANGED
@@ -1,152 +1,60 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r_calc
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.2
4
+ version: 0.0.3
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Milan Jaric
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-15 00:00:00.000000000 Z
12
+ date: 2013-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- version_requirements: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ">="
19
- - !ruby/object:Gem::Version
20
- version: !binary |-
21
- MA==
22
- none: false
23
16
  requirement: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- version: !binary |-
28
- MA==
29
- none: false
30
- prerelease: false
31
- type: :development
32
- - !ruby/object:Gem::Dependency
33
- name: rspec
34
- version_requirements: !ruby/object:Gem::Requirement
35
- requirements:
36
- - - ">="
37
- - !ruby/object:Gem::Version
38
- version: !binary |-
39
- MA==
40
17
  none: false
41
- requirement: !ruby/object:Gem::Requirement
42
18
  requirements:
43
- - - ">="
19
+ - - ! '>='
44
20
  - !ruby/object:Gem::Version
45
- version: !binary |-
46
- MA==
47
- none: false
48
- prerelease: false
21
+ version: '0'
49
22
  type: :development
50
- - !ruby/object:Gem::Dependency
51
- name: ZenTest
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: !binary |-
57
- MA==
58
- none: false
59
- requirement: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: !binary |-
64
- MA==
65
- none: false
66
23
  prerelease: false
67
- type: :development
68
- - !ruby/object:Gem::Dependency
69
- name: autotest-fsevent
70
24
  version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: !binary |-
75
- MA==
76
25
  none: false
77
- requirement: !ruby/object:Gem::Requirement
78
26
  requirements:
79
- - - ">="
27
+ - - ! '>='
80
28
  - !ruby/object:Gem::Version
81
- version: !binary |-
82
- MA==
83
- none: false
84
- prerelease: false
85
- type: :development
29
+ version: '0'
86
30
  - !ruby/object:Gem::Dependency
87
- name: autotest-growl
88
- version_requirements: !ruby/object:Gem::Requirement
89
- requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: !binary |-
93
- MA==
94
- none: false
31
+ name: rspec
95
32
  requirement: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: !binary |-
100
- MA==
101
33
  none: false
102
- prerelease: false
103
- type: :development
104
- - !ruby/object:Gem::Dependency
105
- name: minitest
106
- version_requirements: !ruby/object:Gem::Requirement
107
34
  requirements:
108
- - - ">="
35
+ - - ! '>='
109
36
  - !ruby/object:Gem::Version
110
- version: !binary |-
111
- MA==
112
- none: false
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: !binary |-
118
- MA==
119
- none: false
120
- prerelease: false
37
+ version: '0'
121
38
  type: :development
122
- - !ruby/object:Gem::Dependency
123
- name: minitest-spec
39
+ prerelease: false
124
40
  version_requirements: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- version: !binary |-
129
- MA==
130
41
  none: false
131
- requirement: !ruby/object:Gem::Requirement
132
42
  requirements:
133
- - - ">="
43
+ - - ! '>='
134
44
  - !ruby/object:Gem::Version
135
- version: !binary |-
136
- MA==
137
- none: false
138
- prerelease: false
139
- type: :development
140
- description: Gem defines basic grammar for formula builder and ability to execute formulas to get it results or sum them.
45
+ version: '0'
46
+ description: Gem defines basic grammar for formula builder and ability to execute
47
+ formulas to get it results or sum them.
141
48
  email:
142
49
  - milan.jaric@gmail.com
143
50
  executables: []
144
51
  extensions: []
145
52
  extra_rdoc_files: []
146
53
  files:
147
- - ".autotest"
148
- - ".gitignore"
149
- - ".rspec"
54
+ - .autotest
55
+ - .gitignore
56
+ - .rspec
57
+ - .yardopts
150
58
  - Gemfile
151
59
  - LICENSE
152
60
  - README.md
@@ -178,34 +86,32 @@ files:
178
86
  - spec/spec_helper.rb
179
87
  homepage: https://github.com/mjaric/r_calc
180
88
  licenses: []
181
- post_install_message:
89
+ post_install_message:
182
90
  rdoc_options: []
183
91
  require_paths:
184
92
  - lib
185
93
  required_ruby_version: !ruby/object:Gem::Requirement
94
+ none: false
186
95
  requirements:
187
- - - ">="
96
+ - - ! '>='
188
97
  - !ruby/object:Gem::Version
98
+ version: '0'
189
99
  segments:
190
100
  - 0
191
- hash: 2
192
- version: !binary |-
193
- MA==
194
- none: false
101
+ hash: 4027723592844135316
195
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
+ none: false
196
104
  requirements:
197
- - - ">="
105
+ - - ! '>='
198
106
  - !ruby/object:Gem::Version
107
+ version: '0'
199
108
  segments:
200
109
  - 0
201
- hash: 2
202
- version: !binary |-
203
- MA==
204
- none: false
110
+ hash: 4027723592844135316
205
111
  requirements: []
206
- rubyforge_project:
112
+ rubyforge_project:
207
113
  rubygems_version: 1.8.25
208
- signing_key:
114
+ signing_key:
209
115
  specification_version: 3
210
116
  summary: Sandboxed formula builder and evaluator (it is not evail ;) )
211
117
  test_files: