danica 2.0.5 → 2.0.6
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.
- 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
|