digital_opera 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2013 YOURNAME
1
+ Copyright 2013 DIGITALOPERA, LLC
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -8,3 +8,10 @@ end
8
8
 
9
9
  Bundler::GemHelper.install_tasks
10
10
 
11
+ require 'rspec/core/rake_task'
12
+
13
+ Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each {|f| load f }
14
+
15
+ desc "Run all specs in spec directory (excluding plugin specs)"
16
+ RSpec::Core::RakeTask.new
17
+ task :default => :spec
@@ -18,6 +18,10 @@ module DigitalOpera
18
18
  def source
19
19
  __getobj__
20
20
  end
21
+
22
+ def method_missing(sym, *args, &block)
23
+ source.send sym, *args, &block
24
+ end
21
25
  end
22
26
  end
23
27
  end
@@ -1,3 +1,3 @@
1
1
  module DigitalOpera
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+ require 'support/user'
3
+
4
+ describe DigitalOpera::Banker do
5
+ subject { User.new }
6
+
7
+ it{ should be_respond_to :money_in_account }
8
+ it{ should be_respond_to :money_in_account= }
9
+ it{ should be_respond_to :money_in_account_in_cents }
10
+ it{ should be_respond_to :money_in_account_in_cents= }
11
+
12
+ context 'from string' do
13
+ it 'should convert to cents' do
14
+ subject.money_in_account = '15.31'
15
+ subject.money_in_account_in_cents.should eq 1531
16
+ end
17
+
18
+ it 'should convert to cents' do
19
+ subject.money_in_account_in_cents = '1531'
20
+ subject.money_in_account.should eq '15.31'
21
+ end
22
+ end
23
+
24
+ context 'from int' do
25
+ it 'should convert to cents' do
26
+ subject.money_in_account = 15.31
27
+ subject.money_in_account_in_cents.should eq 1531
28
+ end
29
+
30
+ it 'should convert to cents' do
31
+ subject.money_in_account_in_cents = 1531
32
+ subject.money_in_account.should eq '15.31'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ describe Object do
4
+
5
+ describe '#be_nil_or_zero?' do
6
+
7
+ context 'numbers' do
8
+ it 'should be false' do
9
+ (1.1).should_not be_nil_or_zero
10
+ end
11
+
12
+ it 'should be false' do
13
+ 1.should_not be_nil_or_zero
14
+ end
15
+
16
+ it 'should be true' do
17
+ 0.should be_nil_or_zero
18
+ end
19
+ end
20
+
21
+ context 'string' do
22
+ it 'should be false' do
23
+ 'boo'.should_not be_nil_or_zero
24
+ end
25
+
26
+ it 'should be false' do
27
+ ''.should_not be_nil_or_zero
28
+ end
29
+ end
30
+
31
+ context 'array' do
32
+ it 'should be false' do
33
+ [].should_not be_nil_or_zero
34
+ end
35
+
36
+ it 'should be false' do
37
+ [1,2,3].should_not be_nil_or_zero
38
+ end
39
+
40
+ it 'should be false' do
41
+ ['12',2,3].should_not be_nil_or_zero
42
+ end
43
+
44
+ it 'should be false' do
45
+ [''].should_not be_nil_or_zero
46
+ end
47
+ end
48
+
49
+ context 'hash' do
50
+ it 'should be false' do
51
+ {}.should_not be_nil_or_zero
52
+ end
53
+
54
+ it 'should be false' do
55
+ {foo: 'bar'}.should_not be_nil_or_zero
56
+ end
57
+ end
58
+
59
+ context 'nil' do
60
+ it 'should be true' do
61
+ nil.should be_nil_or_zero
62
+ end
63
+ end
64
+
65
+ end
66
+
67
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+ require 'support/user'
3
+ require 'support/base_presenter'
4
+ require 'action_controller'
5
+
6
+ describe DigitalOpera::Presenter::Base do
7
+ let(:user) { User.new }
8
+
9
+ describe 'base class' do
10
+ subject{ DigitalOpera::Presenter::Base.new user }
11
+
12
+ its(:source) { should eq user }
13
+ its(:_h) { should be_respond_to :view_renderer }
14
+ end
15
+
16
+ describe 'delegating to base class' do
17
+ subject{ BasePresenter.new user }
18
+
19
+ its(:family_name) { should eq 'Dido' }
20
+ end
21
+
22
+ describe 'overridden methods' do
23
+ subject{ BasePresenter.new user }
24
+
25
+ its(:first_name){ should eq 'Jane' }
26
+ its(:last_name){ should eq 'Doe family' }
27
+ end
28
+
29
+ describe 'new methods' do
30
+ subject{ BasePresenter.new user }
31
+
32
+ its(:role) { should eq 'administrator' }
33
+ end
34
+
35
+ end
@@ -0,0 +1,26 @@
1
+ require 'rubygems'
2
+ require 'spork'
3
+ require 'active_support'
4
+ require 'digital_opera'
5
+
6
+ Spork.prefork do
7
+ ENV["RAILS_ENV"] ||= 'test'
8
+ require 'rspec'
9
+ require 'rspec/autorun'
10
+ require 'mocha/api'
11
+
12
+ # Configure RSpec ---------------------------------------
13
+ RSpec.configure do |config|
14
+ config.mock_with :mocha
15
+
16
+ # Run specs in random order to surface order dependencies. If you find an
17
+ # order dependency and want to debug it, you can fix the order by providing
18
+ # the seed, which is printed after each run.
19
+ # --seed 1234
20
+ config.order = "random"
21
+ end
22
+ end
23
+
24
+ Spork.each_run do
25
+
26
+ end
@@ -0,0 +1,13 @@
1
+ class BasePresenter < DigitalOpera::Presenter::Base
2
+ def first_name
3
+ 'Jane'
4
+ end
5
+
6
+ def role
7
+ 'administrator'
8
+ end
9
+
10
+ def last_name
11
+ "#{source.last_name} family"
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ class User
2
+ # simulate fields
3
+ attr_accessor :money_in_account, :money_in_account_in_cents
4
+
5
+ include DigitalOpera::Banker
6
+ currency_fields :money_in_account
7
+
8
+ def first_name
9
+ 'John'
10
+ end
11
+
12
+ def last_name
13
+ 'Doe'
14
+ end
15
+
16
+ def family_name
17
+ 'Dido'
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe DigitalOpera::Token do
4
+ subject { DigitalOpera::Token.generate }
5
+ its(:length){ should eq 40 }
6
+ it{ should match /[0-9a-zA-Z]+/ }
7
+
8
+ it 'should change length' do
9
+ DigitalOpera::Token.generate(256).length.should eq 256
10
+ end
11
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: digital_opera
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-11-11 00:00:00.000000000 Z
13
+ date: 2013-11-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -28,6 +28,22 @@ dependencies:
28
28
  - - ! '>='
29
29
  - !ruby/object:Gem::Version
30
30
  version: 3.1.0
31
+ - !ruby/object:Gem::Dependency
32
+ name: rake
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
31
47
  - !ruby/object:Gem::Dependency
32
48
  name: rspec
33
49
  requirement: !ruby/object:Gem::Requirement
@@ -123,8 +139,16 @@ files:
123
139
  - lib/digital_opera.rb
124
140
  - MIT-LICENSE
125
141
  - Rakefile
142
+ - spec/banker_spec.rb
143
+ - spec/base_extensions/object_spec.rb
144
+ - spec/presenter/base_spec.rb
145
+ - spec/spec_helper.rb
146
+ - spec/support/base_presenter.rb
147
+ - spec/support/user.rb
148
+ - spec/token_spec.rb
126
149
  homepage: http://www.digitalopera.com/
127
- licenses: []
150
+ licenses:
151
+ - MIT
128
152
  post_install_message:
129
153
  rdoc_options: []
130
154
  require_paths:
@@ -137,7 +161,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
161
  version: '0'
138
162
  segments:
139
163
  - 0
140
- hash: -1015125407450019260
164
+ hash: 1294121815354848515
141
165
  required_rubygems_version: !ruby/object:Gem::Requirement
142
166
  none: false
143
167
  requirements:
@@ -146,11 +170,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
170
  version: '0'
147
171
  segments:
148
172
  - 0
149
- hash: -1015125407450019260
173
+ hash: 1294121815354848515
150
174
  requirements: []
151
175
  rubyforge_project:
152
176
  rubygems_version: 1.8.23
153
177
  signing_key:
154
178
  specification_version: 3
155
179
  summary: Tools and utilities for helping out in developing Ruby applications
156
- test_files: []
180
+ test_files:
181
+ - spec/banker_spec.rb
182
+ - spec/base_extensions/object_spec.rb
183
+ - spec/presenter/base_spec.rb
184
+ - spec/spec_helper.rb
185
+ - spec/support/base_presenter.rb
186
+ - spec/support/user.rb
187
+ - spec/token_spec.rb