danica 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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