danica 2.0.5 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/danica.gemspec +1 -1
- data/lib/danica.rb +1 -0
- data/lib/danica/common.rb +17 -30
- data/lib/danica/constant.rb +5 -4
- data/lib/danica/division.rb +2 -0
- data/lib/danica/exponential.rb +1 -0
- data/lib/danica/function.rb +6 -1
- data/lib/danica/group.rb +10 -1
- data/lib/danica/negative.rb +6 -1
- data/lib/danica/number.rb +3 -0
- data/lib/danica/operator.rb +7 -1
- data/lib/danica/operator/chained.rb +19 -2
- data/lib/danica/power.rb +3 -2
- data/lib/danica/product.rb +2 -0
- data/lib/danica/squared_root.rb +1 -0
- data/lib/danica/sum.rb +8 -0
- data/lib/danica/variable.rb +5 -4
- data/lib/danica/variables_holder.rb +41 -0
- data/lib/danica/{common → variables_holder}/variables_builder.rb +1 -1
- data/lib/danica/version.rb +1 -1
- data/spec/integration/power_spec.rb +24 -0
- data/spec/integration/product_spec.rb +44 -0
- data/spec/integration/sum_spec.rb +21 -0
- data/spec/lib/danica/function_spec.rb +3 -3
- data/spec/lib/danica/power_spec.rb +3 -3
- data/spec/support/shared_examples/base_operations.rb +4 -4
- data/spec/support/shared_examples/common.rb +2 -2
- metadata +13 -7
- data/lib/danica/common/class_methods.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 819638dac151e3f8b6ebff32f9cbe3d0e5478d79
|
4
|
+
data.tar.gz: 4bc0a877096317ab2e3a85eb481526057c3e5c9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9342e9487fa8c29b7b507f669798acde6a8e5b5884abb096e8286317dc4ae2edf05b7d5113caeec7ac6fc422d04041d994665d86656033efc122c7fa752c9b8
|
7
|
+
data.tar.gz: a5c184b88248538b8b538cfa875f172a6efc41b1145175ddbb696fb013da2d63f1c5952ce8aa3cf7fcd4af3b57b3455408a13966868f5bf8dbeb0742bf8ba88b
|
data/danica.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.add_runtime_dependency 'activesupport', '~> 5.1.4'
|
19
19
|
spec.add_runtime_dependency 'activemodel', '~> 5.1.4'
|
20
20
|
spec.add_runtime_dependency 'concern_builder', '~> 0.0.3'
|
21
|
-
spec.add_runtime_dependency 'darthjee-core_ext', '~> 1.
|
21
|
+
spec.add_runtime_dependency 'darthjee-core_ext', '~> 1.5.0'
|
22
22
|
|
23
23
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
24
24
|
spec.add_development_dependency 'rake'
|
data/lib/danica.rb
CHANGED
data/lib/danica/common.rb
CHANGED
@@ -1,49 +1,36 @@
|
|
1
1
|
module Danica
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
module Common extend ::ActiveSupport::Concern
|
3
|
+
included do
|
4
|
+
class << self
|
5
|
+
def default_value(name, value)
|
6
|
+
define_method(name) { value }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
6
10
|
|
7
|
-
attr_accessor :variables
|
8
|
-
|
9
11
|
def to_f
|
10
12
|
raise 'Not IMplemented yet'
|
11
13
|
end
|
12
14
|
|
13
|
-
def variables=(variables)
|
14
|
-
@variables = variables.map { |v| wrap_value(v) }
|
15
|
-
end
|
16
|
-
|
17
15
|
def valued?
|
18
16
|
to_f.present?
|
19
17
|
rescue Exception::NotDefined
|
20
18
|
false
|
21
19
|
end
|
22
|
-
|
23
|
-
def variables
|
24
|
-
@variables ||= variables_hash.values
|
25
|
-
end
|
26
20
|
|
27
|
-
def variables_hash
|
28
|
-
@variabels_map ||= (@variables || []).as_hash(self.class.variables_names)
|
29
|
-
end
|
30
|
-
|
31
|
-
def variables_value_hash
|
32
|
-
variables.map(&:value).as_hash(self.class.variables_names)
|
33
|
-
end
|
34
|
-
|
35
21
|
private
|
36
22
|
|
37
|
-
def non_valued_variables
|
38
|
-
variables.reject(&:valued?)
|
39
|
-
end
|
40
|
-
|
41
23
|
def wrap_value(value)
|
42
|
-
return Number.new(value) if value.is_a?(Numeric)
|
43
|
-
return Variable.new(value) if value.is_a?(Hash)
|
44
|
-
return Variable.new(name: value) if [ String, Symbol ].any? { |c| value.is_a?(c) }
|
45
|
-
return Variable.new if value.nil?
|
24
|
+
return wrap_value(Number.new(value)) if value.is_a?(Numeric)
|
25
|
+
return wrap_value(Variable.new(value)) if value.is_a?(Hash)
|
26
|
+
return wrap_value(Variable.new(name: value)) if [ String, Symbol ].any? { |c| value.is_a?(c) }
|
27
|
+
return wrap_value(Variable.new) if value.nil?
|
46
28
|
value
|
47
29
|
end
|
30
|
+
|
31
|
+
def wrap_as_group(value)
|
32
|
+
return value if is_grouped? || value.priority >= priority
|
33
|
+
Group.new(value)
|
34
|
+
end
|
48
35
|
end
|
49
36
|
end
|
data/lib/danica/constant.rb
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
module Danica
|
2
2
|
class Constant
|
3
3
|
include BaseOperations
|
4
|
+
include Common
|
4
5
|
|
5
6
|
attr_reader :value, :latex, :gnu
|
6
7
|
|
8
|
+
default_value :priority, 10
|
9
|
+
default_value :valued?, true
|
10
|
+
default_value :is_grouped?, false
|
11
|
+
|
7
12
|
def initialize(value, latex, gnu)
|
8
13
|
@value = value
|
9
14
|
@latex = latex
|
@@ -26,10 +31,6 @@ module Danica
|
|
26
31
|
def to_gnu
|
27
32
|
gnu.to_s
|
28
33
|
end
|
29
|
-
|
30
|
-
def valued?
|
31
|
-
true
|
32
|
-
end
|
33
34
|
end
|
34
35
|
end
|
35
36
|
|
data/lib/danica/division.rb
CHANGED
data/lib/danica/exponential.rb
CHANGED
data/lib/danica/function.rb
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
module Danica
|
2
|
-
class Function
|
2
|
+
class Function
|
3
|
+
include Common
|
4
|
+
include VariablesHolder
|
3
5
|
include ActiveModel::Model
|
4
6
|
|
5
7
|
attr_accessor :name
|
6
8
|
|
9
|
+
default_value :priority, 3
|
10
|
+
default_value :is_grouped?, false
|
11
|
+
|
7
12
|
def initialize(*args)
|
8
13
|
options = args.extract_options!
|
9
14
|
|
data/lib/danica/group.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
module Danica
|
2
|
-
class Group
|
2
|
+
class Group
|
3
|
+
include Common
|
3
4
|
include ActiveModel::Model
|
4
5
|
|
5
6
|
attr_accessor :value
|
7
|
+
|
8
|
+
default_value :priority, 10
|
9
|
+
default_value :is_grouped?, true
|
6
10
|
|
7
11
|
delegate :to_f, :valued?, to: :value
|
8
12
|
|
@@ -17,6 +21,11 @@ module Danica
|
|
17
21
|
def to_gnu
|
18
22
|
"(#{value.to_gnu})"
|
19
23
|
end
|
24
|
+
|
25
|
+
def ==(other)
|
26
|
+
return value == other unless other.is_a?(self.class)
|
27
|
+
value == other.value
|
28
|
+
end
|
20
29
|
end
|
21
30
|
end
|
22
31
|
|
data/lib/danica/negative.rb
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
module Danica
|
2
|
-
class Negative
|
2
|
+
class Negative
|
3
|
+
include Common
|
4
|
+
include VariablesHolder
|
3
5
|
include ActiveModel::Model
|
4
6
|
|
5
7
|
attr_accessor :value
|
8
|
+
|
9
|
+
default_value :priority, 1
|
10
|
+
default_value :is_grouped?, false
|
6
11
|
|
7
12
|
delegate :valued?, to: :value
|
8
13
|
|
data/lib/danica/number.rb
CHANGED
@@ -2,10 +2,13 @@ module Danica
|
|
2
2
|
class Number
|
3
3
|
include ActiveModel::Model
|
4
4
|
include BaseOperations
|
5
|
+
include Common
|
5
6
|
|
6
7
|
attr_accessor :value
|
7
8
|
|
9
|
+
default_value :priority, 10
|
8
10
|
delegate :to_f, to: :value
|
11
|
+
default_value :is_grouped?, false
|
9
12
|
|
10
13
|
def initialize(value)
|
11
14
|
@value = value
|
data/lib/danica/operator.rb
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
module Danica
|
2
|
-
class Operator
|
2
|
+
class Operator
|
3
|
+
include Common
|
4
|
+
include VariablesHolder
|
5
|
+
include BaseOperations
|
3
6
|
include ActiveModel::Model
|
7
|
+
|
8
|
+
default_value :priority, 3
|
9
|
+
default_value :is_grouped?, false
|
4
10
|
|
5
11
|
def initialize(*args)
|
6
12
|
super( variables: args.flatten )
|
@@ -11,15 +11,32 @@ module Danica
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def to_tex
|
14
|
-
|
14
|
+
to_string(:tex)
|
15
15
|
end
|
16
16
|
|
17
17
|
def to_gnu
|
18
|
-
|
18
|
+
to_string(:gnu)
|
19
19
|
end
|
20
20
|
|
21
21
|
private
|
22
22
|
|
23
|
+
def to_string(type)
|
24
|
+
extractor = string_extractor("to_#{type}")
|
25
|
+
symbol = { tex: tex_symbol, gnu: gnu_symbol }[type]
|
26
|
+
variables.procedural_join(extractor, &join_proc(symbol))
|
27
|
+
end
|
28
|
+
|
29
|
+
def join_proc(symbol)
|
30
|
+
proc { " #{symbol} " }
|
31
|
+
end
|
32
|
+
|
33
|
+
def string_extractor(method)
|
34
|
+
proc do |parcel|
|
35
|
+
parcel = wrap_as_group(parcel)
|
36
|
+
parcel.public_send(method)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
23
40
|
def repack(other)
|
24
41
|
other_variables = other.is_a?(self.class) ? other.variables : [ other ]
|
25
42
|
self.class.new(variables + other_variables)
|
data/lib/danica/power.rb
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
module Danica
|
2
2
|
class Power < Operator
|
3
3
|
variables :base, :exponent
|
4
|
+
default_value :is_grouped?, false
|
4
5
|
|
5
6
|
def to_f
|
6
7
|
base.to_f ** exponent.to_f
|
7
8
|
end
|
8
9
|
|
9
10
|
def to_tex
|
10
|
-
"#{base.to_tex}^{#{exponent.to_tex}}"
|
11
|
+
"#{wrap_as_group(base).to_tex}^{#{exponent.to_tex}}"
|
11
12
|
end
|
12
13
|
|
13
14
|
def to_gnu
|
14
|
-
"#{base.to_gnu}
|
15
|
+
"#{ wrap_as_group(base).to_gnu}**(#{exponent.to_gnu})"
|
15
16
|
end
|
16
17
|
end
|
17
18
|
end
|
data/lib/danica/product.rb
CHANGED
data/lib/danica/squared_root.rb
CHANGED
data/lib/danica/sum.rb
CHANGED
@@ -2,6 +2,8 @@ require 'danica/operator/chained'
|
|
2
2
|
|
3
3
|
module Danica
|
4
4
|
class Sum < Operator::Chained
|
5
|
+
default_value :priority, 1
|
6
|
+
|
5
7
|
def +(other)
|
6
8
|
repack(other)
|
7
9
|
end
|
@@ -17,6 +19,12 @@ module Danica
|
|
17
19
|
end
|
18
20
|
|
19
21
|
alias_method :gnu_symbol, :tex_symbol
|
22
|
+
|
23
|
+
def join_proc(symbol)
|
24
|
+
proc do |_, value|
|
25
|
+
value.is_a?(Negative) ? ' ' : " #{symbol} "
|
26
|
+
end
|
27
|
+
end
|
20
28
|
end
|
21
29
|
end
|
22
30
|
|
data/lib/danica/variable.rb
CHANGED
@@ -2,8 +2,13 @@ module Danica
|
|
2
2
|
class Variable
|
3
3
|
include ActiveModel::Model
|
4
4
|
include BaseOperations
|
5
|
+
include Common
|
6
|
+
|
5
7
|
attr_accessor :value, :name, :latex, :gnu
|
6
8
|
|
9
|
+
default_value :priority, 10
|
10
|
+
default_value :is_grouped?, false
|
11
|
+
|
7
12
|
def to_f
|
8
13
|
value.nil? ? raise(Exception::NotDefined) : value.to_f
|
9
14
|
end
|
@@ -26,10 +31,6 @@ module Danica
|
|
26
31
|
(gnu || name).to_s
|
27
32
|
end
|
28
33
|
|
29
|
-
def valued?
|
30
|
-
value.present?
|
31
|
-
end
|
32
|
-
|
33
34
|
def value=(value)
|
34
35
|
@value = value.is_a?(Numeric) ? Number.new(value) : value
|
35
36
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Danica
|
2
|
+
module VariablesHolder extend ::ActiveSupport::Concern
|
3
|
+
require 'danica/variables_holder/variables_builder'
|
4
|
+
|
5
|
+
included do
|
6
|
+
class << self
|
7
|
+
def variables(*names)
|
8
|
+
VariablesBuilder.new(names, self).build
|
9
|
+
end
|
10
|
+
|
11
|
+
def variables_names
|
12
|
+
@variables_names ||= []
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_accessor :variables
|
18
|
+
|
19
|
+
def variables=(variables)
|
20
|
+
@variables = variables.map { |v| wrap_value(v) }
|
21
|
+
end
|
22
|
+
|
23
|
+
def variables
|
24
|
+
@variables ||= variables_hash.values
|
25
|
+
end
|
26
|
+
|
27
|
+
def variables_hash
|
28
|
+
@variabels_map ||= (@variables || []).as_hash(self.class.variables_names)
|
29
|
+
end
|
30
|
+
|
31
|
+
def variables_value_hash
|
32
|
+
variables.map(&:value).as_hash(self.class.variables_names)
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def non_valued_variables
|
38
|
+
variables.reject(&:valued?)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/danica/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'integration of power' do
|
4
|
+
describe 'of sums' do
|
5
|
+
subject do
|
6
|
+
Danica::Power.new(
|
7
|
+
Danica::Sum.new(3, 4),
|
8
|
+
Danica::Sum.new(5, 6)
|
9
|
+
)
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#to_gnu' do
|
13
|
+
it 'returns the correct string' do
|
14
|
+
expect(subject.to_gnu).to eq('(3 + 4)**(5 + 6)')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#to_tex' do
|
19
|
+
it 'returns the correct string' do
|
20
|
+
expect(subject.to_tex).to eq('\left(3 + 4\right)^{5 + 6}')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'integration of product' do
|
4
|
+
describe 'of number and sum' do
|
5
|
+
subject do
|
6
|
+
Danica::Product.new(
|
7
|
+
3, Danica::Sum.new(2, 4)
|
8
|
+
)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#to_gnu' do
|
12
|
+
it 'returns the correct string' do
|
13
|
+
expect(subject.to_gnu).to eq('3 * (2 + 4)')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '#to_gnu' do
|
18
|
+
it 'returns the correct string' do
|
19
|
+
expect(subject.to_tex).to eq('3 \cdot \left(2 + 4\right)')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe 'of sums' do
|
25
|
+
subject do
|
26
|
+
Danica::Product.new(
|
27
|
+
Danica::Sum.new(1,2),
|
28
|
+
Danica::Sum.new(3,4)
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
describe '#to_gnu' do
|
33
|
+
it 'returns the correct string' do
|
34
|
+
expect(subject.to_gnu).to eq('(1 + 2) * (3 + 4)')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '#to_tex' do
|
39
|
+
it 'returns the correct string' do
|
40
|
+
expect(subject.to_tex).to eq('\left(1 + 2\right) \cdot \left(3 + 4\right)')
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'integration of sum' do
|
4
|
+
describe 'with negative numbers' do
|
5
|
+
subject do
|
6
|
+
Danica::Sum.new(Danica::Negative.new(1), 2, Danica::Negative.new(3), 4)
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#to_gnu' do
|
10
|
+
it 'returns the correct string' do
|
11
|
+
expect(subject.to_gnu).to eq('-1 + 2 -3 + 4')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '#to_tex' do
|
16
|
+
it 'returns the correct string' do
|
17
|
+
expect(subject.to_tex).to eq('-1 + 2 -3 + 4')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -26,7 +26,7 @@ describe Danica::Function do
|
|
26
26
|
|
27
27
|
describe '#to_gnu' do
|
28
28
|
context 'when creating the spatial operator for constantly accelerated movement' do
|
29
|
-
let(:expected) { 'S0 + V0 * t + a * t**2/2' }
|
29
|
+
let(:expected) { 'S0 + V0 * t + a * t**(2)/2' }
|
30
30
|
|
31
31
|
it 'return the latex format CAM' do
|
32
32
|
expect(subject.to_gnu).to eq(expected)
|
@@ -231,7 +231,7 @@ describe Danica::Function do
|
|
231
231
|
|
232
232
|
describe '#to_tex' do
|
233
233
|
context 'when creating the spatial operator for constantly accelerated movement' do
|
234
|
-
let(:expected) { '\frac{1}{\sqrt{2 \cdot \pi \cdot v^{2}}} \cdot e^{-\frac{\left(x
|
234
|
+
let(:expected) { '\frac{1}{\sqrt{2 \cdot \pi \cdot v^{2}}} \cdot e^{-\frac{\left(x -u\right)^{2}}{2 \cdot v^{2}}}' }
|
235
235
|
|
236
236
|
it 'return the latex format CAM' do
|
237
237
|
expect(subject.to_tex).to eq(expected)
|
@@ -241,7 +241,7 @@ describe Danica::Function do
|
|
241
241
|
|
242
242
|
describe '#to_gnu' do
|
243
243
|
context 'when creating the spatial operator for constantly accelerated movement' do
|
244
|
-
let(:expected) { '1/sqrt(2 * pi * v**2) * exp(-(x
|
244
|
+
let(:expected) { '1/sqrt(2 * pi * v**(2)) * exp(-(x -u)**(2)/2 * v**(2))' }
|
245
245
|
|
246
246
|
it 'return the latex format CAM' do
|
247
247
|
expect(subject.to_gnu).to eq(expected)
|
@@ -16,9 +16,9 @@ describe Danica::Power do
|
|
16
16
|
partial_string_expected: '3^{X2}'
|
17
17
|
},
|
18
18
|
to_gnu: {
|
19
|
-
string_expected: 'X1**X2',
|
20
|
-
numeric_string_expected: '3**2',
|
21
|
-
partial_string_expected: '3**X2'
|
19
|
+
string_expected: 'X1**(X2)',
|
20
|
+
numeric_string_expected: '3**(2)',
|
21
|
+
partial_string_expected: '3**(X2)'
|
22
22
|
}
|
23
23
|
}
|
24
24
|
end
|
@@ -8,11 +8,11 @@ shared_examples 'an object with an operation' do |clazz|
|
|
8
8
|
it { expect(result).to be_a(clazz) }
|
9
9
|
|
10
10
|
it 'includes other as parcel' do
|
11
|
-
expect(result).to
|
11
|
+
expect(result).to include(other)
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'includes the subject as parcel' do
|
15
|
-
expect(result).to
|
15
|
+
expect(result).to include(subject_included)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -67,11 +67,11 @@ shared_examples 'an object with - operation' do
|
|
67
67
|
it { expect(result).to be_a(Danica::Sum) }
|
68
68
|
|
69
69
|
it 'includes other as negative parcel' do
|
70
|
-
expect(result).to
|
70
|
+
expect(result).to include(negative_other)
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'includes the subject as parcel' do
|
74
|
-
expect(result).to
|
74
|
+
expect(result).to include(subject_included)
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
shared_examples 'an object that respond to basic_methods' do |ignore: [], methods: %i(to_f to_tex to_gnu valued?)|
|
1
|
+
shared_examples 'an object that respond to basic_methods' do |ignore: [], methods: %i(to_f to_tex to_gnu priority valued?)|
|
2
2
|
(methods - ignore).each do |method|
|
3
|
-
it {expect(subject).to respond_to(method) }
|
3
|
+
it { expect(subject).to respond_to(method) }
|
4
4
|
end
|
5
5
|
end
|
6
6
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danica
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darthjee
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.5.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: 1.5.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,8 +168,6 @@ files:
|
|
168
168
|
- lib/danica.rb
|
169
169
|
- lib/danica/base_operations.rb
|
170
170
|
- lib/danica/common.rb
|
171
|
-
- lib/danica/common/class_methods.rb
|
172
|
-
- lib/danica/common/variables_builder.rb
|
173
171
|
- lib/danica/constant.rb
|
174
172
|
- lib/danica/cos.rb
|
175
173
|
- lib/danica/division.rb
|
@@ -188,7 +186,12 @@ files:
|
|
188
186
|
- lib/danica/squared_root.rb
|
189
187
|
- lib/danica/sum.rb
|
190
188
|
- lib/danica/variable.rb
|
189
|
+
- lib/danica/variables_holder.rb
|
190
|
+
- lib/danica/variables_holder/variables_builder.rb
|
191
191
|
- lib/danica/version.rb
|
192
|
+
- spec/integration/power_spec.rb
|
193
|
+
- spec/integration/product_spec.rb
|
194
|
+
- spec/integration/sum_spec.rb
|
192
195
|
- spec/lib/danica/constant_spec.rb
|
193
196
|
- spec/lib/danica/cos_spec.rb
|
194
197
|
- spec/lib/danica/division_spec.rb
|
@@ -231,11 +234,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
231
234
|
version: '0'
|
232
235
|
requirements: []
|
233
236
|
rubyforge_project:
|
234
|
-
rubygems_version: 2.6.
|
237
|
+
rubygems_version: 2.6.11
|
235
238
|
signing_key:
|
236
239
|
specification_version: 4
|
237
240
|
summary: Danica
|
238
241
|
test_files:
|
242
|
+
- spec/integration/power_spec.rb
|
243
|
+
- spec/integration/product_spec.rb
|
244
|
+
- spec/integration/sum_spec.rb
|
239
245
|
- spec/lib/danica/constant_spec.rb
|
240
246
|
- spec/lib/danica/cos_spec.rb
|
241
247
|
- spec/lib/danica/division_spec.rb
|