danica 2.0.1 → 2.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8dee90fae6e225d80aa3ad1372b595e9ddb1838e
4
- data.tar.gz: 4c48eb2ad5b03f32a548728b6753e72e0495ba9c
3
+ metadata.gz: cff829125a760a9befcca81f951b911840727946
4
+ data.tar.gz: 4bf19cd95e022ed7dfa9a5b330108be5121c0b1f
5
5
  SHA512:
6
- metadata.gz: 592db252b53a3a6a40288c12756338d5c94aedaff3a574e896ed2a011c6ea65d311d0b2786bbcfca00b9f4997be7f073e72981413805336fa92c5a3876c68cca
7
- data.tar.gz: 669d72083cf2e11b9abaad19872e8d02c0cc31badea6a1612252bb0b18db64d2e416bda11fda10f9d66e4e97108f42ab490df3ee5c60d9cdc49ce633a0cb3ec7
6
+ metadata.gz: 6f2f3be5cc0b9583dab38669b7157b7f7bd1083175a90257c07ee7c49760aa6665fa54033cb284314db1ba9582d61f29616f74e055a50a608fa16e2f23946ffa
7
+ data.tar.gz: 618caae9495087e7fde2796fd5b52694196642e67da7d595f152562325e0f4561596176a86f6029db3fe00bc0090e43477616f59119508f9836f2bced66c05ee
data/.gitignore CHANGED
@@ -1,3 +1,3 @@
1
1
  coverage
2
2
  pkg
3
-
3
+ Gemfile.lock
data/Rakefile CHANGED
@@ -1,7 +1,5 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
3
 
4
- RSpec::Core::RakeTask.new
5
-
6
4
  task default: :spec
7
5
  task test: :spec
@@ -15,10 +15,10 @@ Gem::Specification.new do |spec|
15
15
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
16
  spec.require_paths = ['lib']
17
17
 
18
- spec.add_runtime_dependency 'activesupport'
19
- spec.add_runtime_dependency 'activemodel'
20
- spec.add_runtime_dependency 'concern_builder'
21
- spec.add_runtime_dependency 'bidu-core_ext'
18
+ spec.add_runtime_dependency 'activesupport', '~> 5.1.4'
19
+ spec.add_runtime_dependency 'activemodel', '~> 5.1.4'
20
+ spec.add_runtime_dependency 'concern_builder', '~> 0.0.3'
21
+ spec.add_runtime_dependency 'darthjee-core_ext', '~> 1.4.1'
22
22
 
23
23
  spec.add_development_dependency 'bundler', '~> 1.6'
24
24
  spec.add_development_dependency 'rake'
@@ -1,12 +1,22 @@
1
1
  require 'active_model'
2
2
 
3
3
  module Danica
4
- require 'danica/common'
5
- require 'danica/number'
6
- require 'danica/variable'
7
- require 'danica/operator'
8
- require 'danica/function'
9
- require 'danica/exception'
10
- require 'danica/constant'
4
+ autoload :BaseOperations, 'danica/base_operations'
5
+ autoload :Common, 'danica/common'
6
+ autoload :Number, 'danica/number'
7
+ autoload :Variable, 'danica/variable'
8
+ autoload :Operator, 'danica/operator'
9
+ autoload :Function, 'danica/function'
10
+ autoload :Exception, 'danica/exception'
11
+ autoload :Constant, 'danica/constant'
12
+
13
+ autoload :Product, 'danica/product'
14
+ autoload :Sum, 'danica/sum'
15
+ autoload :Division, 'danica/division'
16
+ autoload :Power, 'danica/power'
17
+ autoload :SquaredRoot, 'danica/squared_root'
18
+ autoload :Exponential, 'danica/exponential'
19
+ autoload :Sin, 'danica/sin'
20
+ autoload :Cos, 'danica/cos'
11
21
  end
12
22
 
@@ -0,0 +1,7 @@
1
+ module Danica
2
+ module BaseOperations
3
+ def +(other)
4
+ return Sum.new(self, other)
5
+ end
6
+ end
7
+ end
@@ -1,5 +1,6 @@
1
1
  module Danica
2
2
  class Common
3
+ include BaseOperations
3
4
  require 'danica/common/class_methods'
4
5
  require 'danica/common/variables_builder'
5
6
 
@@ -13,7 +14,7 @@ module Danica
13
14
  vars_map = args.extract_options!
14
15
  vars_map = variables_value_hash.merge(vars_map)
15
16
  vars_map.each do |k, v|
16
- unless v && (v.is_a?(Fixnum) || v.valued?)
17
+ unless v && (v.is_a?(Integer) || v.valued?)
17
18
  vars_map[k] = args.shift
18
19
  end
19
20
  end
@@ -1,5 +1,7 @@
1
1
  module Danica
2
2
  class Constant
3
+ include BaseOperations
4
+
3
5
  attr_reader :value, :latex, :gnu
4
6
 
5
7
  def initialize(value, latex, gnu)
@@ -14,6 +16,7 @@ module Danica
14
16
 
15
17
  def ==(other)
16
18
  return false unless other.class == self.class
19
+ gnu == other.gnu && latex == other.latex && value == other.value
17
20
  end
18
21
 
19
22
  def to_tex
@@ -1,20 +1,22 @@
1
1
  module Danica
2
- class SquareRoot < Operator
2
+ class Cos < Operator
3
3
  variables :variable
4
4
 
5
5
  def to_f
6
- Math.sqrt(variable.to_f)
6
+ Math.cos(variable.to_f)
7
7
  end
8
8
 
9
9
  private
10
10
 
11
11
  def tex_string
12
- "\\sqrt{#{variable.to_tex}}"
12
+ "cos(#{variable.to_tex})"
13
13
  end
14
14
 
15
15
  def gnu_string
16
- "sqrt(#{variable.to_gnu})"
16
+ "cos(#{variable.to_gnu})"
17
17
  end
18
18
  end
19
19
  end
20
20
 
21
+
22
+
@@ -3,17 +3,17 @@ module Danica
3
3
  variables :numerator, :denominator
4
4
 
5
5
  def to_f
6
- numerator.to_f / denominator.to_f
6
+ numerator.to_f / denominator.to_f
7
7
  end
8
8
 
9
9
  private
10
10
 
11
11
  def tex_string
12
- "\\frac{#{numerator.to_tex}}{#{denominator.to_tex}}"
12
+ "\\frac{#{numerator.to_tex}}{#{denominator.to_tex}}"
13
13
  end
14
14
 
15
15
  def gnu_string
16
- "#{numerator.to_gnu}/#{denominator.to_gnu}"
16
+ "#{numerator.to_gnu}/#{denominator.to_gnu}"
17
17
  end
18
18
  end
19
19
  end
@@ -3,17 +3,17 @@ module Danica
3
3
  variables :exponent
4
4
 
5
5
  def to_f
6
- Math.exp(exponent.to_f)
6
+ Math.exp(exponent.to_f)
7
7
  end
8
8
 
9
9
  private
10
10
 
11
11
  def tex_string
12
- "e^{#{exponent.to_tex}}"
12
+ "e^{#{exponent.to_tex}}"
13
13
  end
14
14
 
15
15
  def gnu_string
16
- "exp(#{exponent.to_gnu})"
16
+ "exp(#{exponent.to_gnu})"
17
17
  end
18
18
  end
19
19
  end
@@ -1,6 +1,7 @@
1
1
  module Danica
2
2
  class Number
3
3
  include ActiveModel::Model
4
+ include BaseOperations
4
5
 
5
6
  attr_accessor :value
6
7
 
@@ -3,17 +3,17 @@ module Danica
3
3
  variables :base, :exponent
4
4
 
5
5
  def to_f
6
- base.to_f ** exponent.to_f
6
+ base.to_f ** exponent.to_f
7
7
  end
8
8
 
9
9
  private
10
10
 
11
11
  def tex_string
12
- "#{base.to_tex}^{#{exponent.to_tex}}"
12
+ "#{base.to_tex}^{#{exponent.to_tex}}"
13
13
  end
14
14
 
15
15
  def gnu_string
16
- "#{base.to_gnu}**#{exponent.to_gnu}"
16
+ "#{base.to_gnu}**#{exponent.to_gnu}"
17
17
  end
18
18
  end
19
19
  end
@@ -5,15 +5,15 @@ module Danica
5
5
  private
6
6
 
7
7
  def tex_symbol
8
- '\cdot'
8
+ '\cdot'
9
9
  end
10
10
 
11
11
  def gnu_symbol
12
- '*'
12
+ '*'
13
13
  end
14
14
 
15
15
  def chain_operation(a, b)
16
- a * b
16
+ a * b
17
17
  end
18
18
  end
19
19
  end
@@ -0,0 +1,21 @@
1
+ module Danica
2
+ class Sin < Operator
3
+ variables :variable
4
+
5
+ def to_f
6
+ Math.sin(variable.to_f)
7
+ end
8
+
9
+ private
10
+
11
+ def tex_string
12
+ "sin(#{variable.to_tex})"
13
+ end
14
+
15
+ def gnu_string
16
+ "sin(#{variable.to_gnu})"
17
+ end
18
+ end
19
+ end
20
+
21
+
@@ -0,0 +1,20 @@
1
+ module Danica
2
+ class SquaredRoot < Operator
3
+ variables :variable
4
+
5
+ def to_f
6
+ Math.sqrt(variable.to_f)
7
+ end
8
+
9
+ private
10
+
11
+ def tex_string
12
+ "\\sqrt{#{variable.to_tex}}"
13
+ end
14
+
15
+ def gnu_string
16
+ "sqrt(#{variable.to_gnu})"
17
+ end
18
+ end
19
+ end
20
+
@@ -1,6 +1,7 @@
1
1
  module Danica
2
2
  class Variable
3
3
  include ActiveModel::Model
4
+ include BaseOperations
4
5
  attr_accessor :value, :name, :latex, :gnu
5
6
 
6
7
  def to_f
@@ -1,3 +1,3 @@
1
1
  module Danica
2
- VERSION = '2.0.1'
2
+ VERSION = '2.0.2'
3
3
  end
@@ -1,7 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Danica::Constant do
4
- let(:subject) { described_class.new(2.5, :M, :m) }
4
+ subject { described_class.new(2.5, :M, :m) }
5
+ let(:other) { described_class.new(3, :N, :n) }
6
+
7
+ it_behaves_like 'an object with + operation'
5
8
 
6
9
  describe '#to_f' do
7
10
  it 'has a value' do
@@ -26,5 +29,22 @@ describe Danica::Constant do
26
29
  it { expect(subject).not_to respond_to(:latex=) }
27
30
  it { expect(subject).not_to respond_to(:gnu=) }
28
31
  end
32
+
33
+ describe '==' do
34
+ context 'when comparing with the same object' do
35
+ it { expect(subject).to eq(subject) }
36
+ end
37
+
38
+ context 'when comparing with a diferent object' do
39
+ context 'with diferent values' do
40
+ it { expect(subject).not_to eq(other) }
41
+ end
42
+
43
+ context 'with same values' do
44
+ let(:other) { described_class.new(2.5, :M, :m) }
45
+ it { expect(subject).to eq(other) }
46
+ end
47
+ end
48
+ end
29
49
  end
30
50
 
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Danica::Cos do
4
+ it_behaves_like 'an object with + operation' do
5
+ subject { described_class.new(:x) }
6
+ end
7
+
8
+ it_behaves_like 'a operator with a single input value', {
9
+ variable_value: Math::PI,
10
+ expected_number: -1.0,
11
+ expected_number_text: '-1',
12
+ expected_tex: 'cos(X)',
13
+ expected_gnu: 'cos(X)'
14
+ }
15
+ end
@@ -1,9 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Danica::Division do
4
- let(:subject) do
5
- described_class.new(*variables)
6
- end
4
+ let(:variables) { [2, 4] }
5
+ subject { described_class.new(*variables) }
6
+
7
+ it_behaves_like 'an object with + operation'
7
8
 
8
9
  it_behaves_like 'a operator that has two terms', :division, {
9
10
  values: [ 2, 4 ],
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Danica::Exponential do
4
+ subject { described_class.new(2) }
5
+
6
+ it_behaves_like 'an object with + operation'
7
+
4
8
  it_behaves_like 'a operator with a single input value', {
5
9
  variable_value: 2,
6
10
  expected_number: Math.exp(2),
@@ -43,7 +43,7 @@ describe Danica::Function do
43
43
  }
44
44
  end
45
45
 
46
- let(:subject) { described_class::Spatial.new(variables) }
46
+ subject { described_class::Spatial.new(variables) }
47
47
 
48
48
  describe '#to_tex' do
49
49
  context 'when creating the spatial operator for constantly accelerated movement' do
@@ -112,7 +112,7 @@ describe Danica::Function do
112
112
  context 'when initializing with array' do
113
113
  context 'as hash' do
114
114
  let(:variables) { [ :t, 'a', {name: :S0, latex: 'S_0'}, { name: :V0, latex: 'V_0' } ] }
115
- let(:subject) { described_class::Spatial.new(variables) }
115
+ subject { described_class::Spatial.new(variables) }
116
116
 
117
117
  it 'returns a hash with the variabels' do
118
118
  expect(subject.variables_hash).to eq(expected)
@@ -123,7 +123,7 @@ describe Danica::Function do
123
123
  context 'when initializing with sequence' do
124
124
  context 'as hash' do
125
125
  let(:variables) { [ :t, 'a', {name: :S0, latex: 'S_0'}, { name: :V0, latex: 'V_0' } ] }
126
- let(:subject) { described_class::Spatial.new(*variables, {}) }
126
+ subject { described_class::Spatial.new(*variables, {}) }
127
127
 
128
128
  it 'returns a hash with the variabels' do
129
129
  expect(subject.variables_hash).to eq(expected)
@@ -134,7 +134,7 @@ describe Danica::Function do
134
134
  context 'when initializing with variables array' do
135
135
  context 'as hash' do
136
136
  let(:variables) { [ :t, 'a', {name: :S0, latex: 'S_0'}, { name: :V0, latex: 'V_0' } ] }
137
- let(:subject) { described_class::Spatial.new(variables: variables) }
137
+ subject { described_class::Spatial.new(variables: variables) }
138
138
 
139
139
  it 'returns a hash with the variabels' do
140
140
  expect(subject.variables_hash).to eq(expected)
@@ -145,7 +145,7 @@ describe Danica::Function do
145
145
 
146
146
  describe '#variables' do
147
147
  context 'when initialized with an array of variables' do
148
- let(:subject) { described_class::Spatial.new(variables: variables.values) }
148
+ subject { described_class::Spatial.new(variables: variables.values) }
149
149
  let(:expected) { variables.values.map { |v| subject.send(:wrap_value, v)} }
150
150
  it do
151
151
  expect(subject.variables.compact).to eq(expected)
@@ -153,7 +153,7 @@ describe Danica::Function do
153
153
  end
154
154
 
155
155
  context 'when not initializing all variables' do
156
- let(:subject) { described_class::Spatial.new }
156
+ subject { described_class::Spatial.new }
157
157
  let(:time) { Danica::Variable.new(name: :t) }
158
158
 
159
159
  context 'when initialized with an empty variable set' do
@@ -174,7 +174,7 @@ describe Danica::Function do
174
174
 
175
175
  context 'when initializing with a variable set' do
176
176
  let(:names) { [ :t, :a, :s0, :v0 ] }
177
- let(:subject) { described_class::Spatial.new *names }
177
+ subject { described_class::Spatial.new *names }
178
178
 
179
179
  it 'returns the variables given oin initialization' do
180
180
  expect(subject.variables.map(&:name)).to eq(names)
@@ -189,7 +189,7 @@ describe Danica::Function do
189
189
  time: :t
190
190
  }
191
191
  end
192
- let(:subject) { described_class::Spatial.new variables }
192
+ subject { described_class::Spatial.new variables }
193
193
 
194
194
  it 'returns the variables given on initialization' do
195
195
  expect(subject.variables.map(&:name)).to eq(names)
@@ -206,7 +206,7 @@ describe Danica::Function do
206
206
  let(:acceleration) { 3 }
207
207
  let(:initial_space) { 1 }
208
208
  let(:initial_velocity) { 1 }
209
- let(:subject) { described_class::Spatial.new(time, acceleration, initial_space, initial_velocity) }
209
+ subject { described_class::Spatial.new(time, acceleration, initial_space, initial_velocity) }
210
210
  let(:expected) { initial_space + initial_velocity * time_value + acceleration * (time_value ** 2) / 2.0 }
211
211
 
212
212
  it 'retuirns the calculated value' do
@@ -2,7 +2,9 @@ require 'spec_helper'
2
2
 
3
3
  describe Danica::Number do
4
4
  let(:value) { 10 }
5
- let(:subject) { described_class.new(value) }
5
+ subject { described_class.new(value) }
6
+
7
+ it_behaves_like 'an object with + operation'
6
8
 
7
9
  describe '#to_f' do
8
10
  it 'returns the float of value' do
@@ -1,9 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Danica::Power do
4
- let(:subject) do
5
- described_class.new(*variables)
6
- end
4
+ let(:variables) { [2, 4] }
5
+ subject { described_class.new(*variables) }
6
+
7
+ it_behaves_like 'an object with + operation'
7
8
 
8
9
  it_behaves_like 'a operator that has two terms', :power, {
9
10
  values: [ 3, 2 ],
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Danica::Product do
4
+ subject { described_class.new(2,4) }
5
+
6
+ it_behaves_like 'an object with + operation'
7
+
4
8
  it_behaves_like 'a operator that joins many variables with same operation', {
5
9
  calculated: 24,
6
10
  numeric_variables: [ 1.5, 2, 3.5 ],
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Danica::Sin do
4
+ subject { described_class.new(10) }
5
+
6
+ it_behaves_like 'an object with + operation'
7
+
8
+ it_behaves_like 'a operator with a single input value', {
9
+ variable_value: Math::PI / 2.0,
10
+ expected_number: 1.0,
11
+ expected_number_text: '1',
12
+ expected_tex: 'sin(X)',
13
+ expected_gnu: 'sin(X)'
14
+ }
15
+ end
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Danica::SquareRoot do
3
+ describe Danica::SquaredRoot do
4
+ subject { described_class.new(9) }
5
+
6
+ it_behaves_like 'an object with + operation'
7
+
4
8
  it_behaves_like 'a operator with a single input value', {
5
9
  variable_value: 9,
6
10
  expected_number: 3.0,
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Danica::Sum do
4
+ subject { described_class.new(10, 2) }
5
+
6
+ it_behaves_like 'an object with + operation'
7
+
4
8
  it_behaves_like 'a operator that joins many variables with same operation', {
5
9
  calculated: 10,
6
10
  numeric_variables: [ 1.5, 2.5, 3.5 ],
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Danica::Variable do
4
+ it_behaves_like 'an object with + operation' do
5
+ subject { described_class.new(value: 100) }
6
+ end
7
+
4
8
  describe '#to_f' do
5
9
  context 'when variable has no value' do
6
10
  it { expect { subject.to_f }.to raise_error(Danica::Exception::NotDefined) }
@@ -8,7 +12,7 @@ describe Danica::Variable do
8
12
 
9
13
  context 'when variable has value' do
10
14
  let(:value) { 100 }
11
- let(:subject) { described_class.new(value: value) }
15
+ subject { described_class.new(value: value) }
12
16
 
13
17
  it 'returns the value' do
14
18
  expect(subject.to_f).to eq(value)
@@ -13,12 +13,6 @@ SimpleCov.start 'gem'
13
13
  require 'pry-nav'
14
14
  require 'danica'
15
15
 
16
- require 'danica/product'
17
- require 'danica/sum'
18
- require 'danica/division'
19
- require 'danica/power'
20
- require 'danica/square_root'
21
- require 'danica/exponential'
22
16
 
23
17
  # This file was generated by the `rspec --init` command. Conventionally, all
24
18
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
@@ -0,0 +1,4 @@
1
+ shared_examples 'an object with + operation' do
2
+ let(:other) { 104 }
3
+ it { expect(subject + other).to be_a(Danica::Sum) }
4
+ end
@@ -12,9 +12,7 @@ shared_examples 'a operator that knows how to calculate' do |arguments|
12
12
  end
13
13
  end
14
14
  let(:numeric_variables){ (1..4).to_a }
15
- let(:subject) do
16
- described_class.new(*variables)
17
- end
15
+ subject { described_class.new(*variables) }
18
16
 
19
17
  describe 'to_f' do
20
18
  it 'returns the sum of variables value' do
@@ -50,9 +48,7 @@ end
50
48
  shared_examples 'a operator that knows how to write to a string' do |command, arguments|
51
49
  let(:numeric_variables) { arguments[:numeric_variables] }
52
50
  include_context 'variables are initialized', arguments[command], *%w(integer_expected string_expected float_expected)
53
- let(:subject) do
54
- described_class.new(*variables)
55
- end
51
+ subject { described_class.new(*variables) }
56
52
 
57
53
  describe "#{command}" do
58
54
  let(:variables) do
@@ -1,9 +1,7 @@
1
1
  shared_examples 'a operator with a single input value' do |arguments|
2
2
  include_context 'variables are initialized', arguments, *%w(variable_value expected_number expected_tex expected_number_text expected_gnu)
3
3
  let(:variable) { { name: "X", value: variable_value } }
4
- let(:subject) do
5
- described_class.new(variable)
6
- end
4
+ subject { described_class.new(variable) }
7
5
 
8
6
  describe '#to_f' do
9
7
  context 'when variables are not numbers but have value' do
@@ -2,7 +2,7 @@ shared_examples 'a variable method to formated string' do |method, format|
2
2
  let(:name) { :delta }
3
3
  let(:value) { 10.0 }
4
4
  let(:arguments) { { name: name, latex: '\delta', gnu: 'del' } }
5
- let(:subject) { described_class.new(arguments) }
5
+ subject { described_class.new(arguments) }
6
6
 
7
7
  context "when #{format} is not defined" do
8
8
  before { arguments.delete(format) }
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danica
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darthjee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-26 00:00:00.000000000 Z
11
+ date: 2017-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.1.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 5.1.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 5.1.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 5.1.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: concern_builder
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 0.0.3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 0.0.3
55
55
  - !ruby/object:Gem::Dependency
56
- name: bidu-core_ext
56
+ name: darthjee-core_ext
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 1.4.1
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: '0'
68
+ version: 1.4.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -174,15 +174,16 @@ files:
174
174
  - ".gitignore"
175
175
  - ".rspec"
176
176
  - Gemfile
177
- - Gemfile.lock
178
177
  - README.md
179
178
  - Rakefile
180
179
  - danica.gemspec
181
180
  - lib/danica.rb
181
+ - lib/danica/base_operations.rb
182
182
  - lib/danica/common.rb
183
183
  - lib/danica/common/class_methods.rb
184
184
  - lib/danica/common/variables_builder.rb
185
185
  - lib/danica/constant.rb
186
+ - lib/danica/cos.rb
186
187
  - lib/danica/division.rb
187
188
  - lib/danica/exception.rb
188
189
  - lib/danica/exception/not_defined.rb
@@ -193,22 +194,26 @@ files:
193
194
  - lib/danica/operator/chained.rb
194
195
  - lib/danica/power.rb
195
196
  - lib/danica/product.rb
196
- - lib/danica/square_root.rb
197
+ - lib/danica/sin.rb
198
+ - lib/danica/squared_root.rb
197
199
  - lib/danica/sum.rb
198
200
  - lib/danica/variable.rb
199
201
  - lib/danica/version.rb
200
202
  - spec/lib/danica/constant_spec.rb
203
+ - spec/lib/danica/cos_spec.rb
201
204
  - spec/lib/danica/division_spec.rb
202
205
  - spec/lib/danica/exponential_spec.rb
203
206
  - spec/lib/danica/function_spec.rb
204
207
  - spec/lib/danica/number_spec.rb
205
208
  - spec/lib/danica/power_spec.rb
206
209
  - spec/lib/danica/product_spec.rb
207
- - spec/lib/danica/square_root_spec.rb
210
+ - spec/lib/danica/sin_spec.rb
211
+ - spec/lib/danica/squared_root_spec.rb
208
212
  - spec/lib/danica/sum_spec.rb
209
213
  - spec/lib/danica/variable_spec.rb
210
214
  - spec/spec_helper.rb
211
215
  - spec/support/shared_contexts/common.rb
216
+ - spec/support/shared_examples/base_operations.rb
212
217
  - spec/support/shared_examples/operator/chained.rb
213
218
  - spec/support/shared_examples/operator/dual_term.rb
214
219
  - spec/support/shared_examples/operator/single_input.rb
@@ -232,23 +237,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
232
237
  version: '0'
233
238
  requirements: []
234
239
  rubyforge_project:
235
- rubygems_version: 2.5.1
240
+ rubygems_version: 2.6.8
236
241
  signing_key:
237
242
  specification_version: 4
238
243
  summary: Danica
239
244
  test_files:
240
245
  - spec/lib/danica/constant_spec.rb
246
+ - spec/lib/danica/cos_spec.rb
241
247
  - spec/lib/danica/division_spec.rb
242
248
  - spec/lib/danica/exponential_spec.rb
243
249
  - spec/lib/danica/function_spec.rb
244
250
  - spec/lib/danica/number_spec.rb
245
251
  - spec/lib/danica/power_spec.rb
246
252
  - spec/lib/danica/product_spec.rb
247
- - spec/lib/danica/square_root_spec.rb
253
+ - spec/lib/danica/sin_spec.rb
254
+ - spec/lib/danica/squared_root_spec.rb
248
255
  - spec/lib/danica/sum_spec.rb
249
256
  - spec/lib/danica/variable_spec.rb
250
257
  - spec/spec_helper.rb
251
258
  - spec/support/shared_contexts/common.rb
259
+ - spec/support/shared_examples/base_operations.rb
252
260
  - spec/support/shared_examples/operator/chained.rb
253
261
  - spec/support/shared_examples/operator/dual_term.rb
254
262
  - spec/support/shared_examples/operator/single_input.rb
@@ -1,73 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- danica (2.0.1)
5
- activemodel
6
- activesupport
7
- bidu-core_ext
8
- concern_builder
9
-
10
- GEM
11
- remote: https://rubygems.org/
12
- specs:
13
- activemodel (5.0.0.1)
14
- activesupport (= 5.0.0.1)
15
- activesupport (5.0.0.1)
16
- concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (~> 0.7)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- bidu-core_ext (1.2.2)
21
- activesupport
22
- codeclimate-test-reporter (0.5.0)
23
- simplecov (>= 0.7.1, < 1.0.0)
24
- coderay (1.1.1)
25
- concern_builder (0.0.2)
26
- activesupport
27
- concurrent-ruby (1.0.2)
28
- diff-lcs (1.2.5)
29
- docile (1.1.5)
30
- i18n (0.7.0)
31
- json (2.0.2)
32
- method_source (0.8.2)
33
- minitest (5.9.0)
34
- pry (0.10.4)
35
- coderay (~> 1.1.0)
36
- method_source (~> 0.8.1)
37
- slop (~> 3.4)
38
- pry-nav (0.2.4)
39
- pry (>= 0.9.10, < 0.11.0)
40
- rake (11.2.2)
41
- rspec (2.99.0)
42
- rspec-core (~> 2.99.0)
43
- rspec-expectations (~> 2.99.0)
44
- rspec-mocks (~> 2.99.0)
45
- rspec-core (2.99.2)
46
- rspec-expectations (2.99.2)
47
- diff-lcs (>= 1.1.3, < 2.0)
48
- rspec-mocks (2.99.4)
49
- simplecov (0.12.0)
50
- docile (~> 1.1.0)
51
- json (>= 1.8, < 3)
52
- simplecov-html (~> 0.10.0)
53
- simplecov-html (0.10.0)
54
- slop (3.6.0)
55
- thread_safe (0.3.5)
56
- tzinfo (1.2.2)
57
- thread_safe (~> 0.1)
58
-
59
- PLATFORMS
60
- ruby
61
-
62
- DEPENDENCIES
63
- bundler (~> 1.6)
64
- codeclimate-test-reporter
65
- danica!
66
- pry-nav
67
- rake
68
- rspec (~> 2.14)
69
- rspec-mocks
70
- simplecov
71
-
72
- BUNDLED WITH
73
- 1.12.5