record_history 0.0.2 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,11 @@
1
+ FactoryGirl.define do
2
+ factory :record_history_model do
3
+ item_type { 'SomeData' }
4
+ item_id { Factory.create(:some_data).id }
5
+ attr_name { Faker::Lorem.words(1).first }
6
+ old_value_dump { Marshal.dump(Faker::Base.numerify('##')) }
7
+ new_value_dump { Marshal.dump(Faker::Base.numerify('##')) }
8
+ author_type { 'User'}
9
+ author_id { Factory.create(:user) }
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :some_data do
3
+ name { Faker::Lorem.words(1).first }
4
+ description { Faker::Lorem.sentence(3) }
5
+ value { Faker::Base.numerify('###') }
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :user do
3
+ login { Faker::Internet.email }
4
+ password { Faker::Base.letterify('??????') }
5
+ name { Faker::Name.name }
6
+ end
7
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ require 'factories/record_history_models'
4
+ require 'factories/users'
5
+ require 'factories/some_datas'
6
+ require 'shoulda-matchers'
7
+
8
+ describe RecordHistoryModel do
9
+ context "validations" do
10
+ before :each do
11
+ @hist = Factory.create(:record_history_model)
12
+ end
13
+ it "presence" do
14
+ [:item_type, :item_id, :old_value_dump, :new_value_dump].each do |attr|
15
+ @hist.send("#{attr}=", nil)
16
+ @hist.should_not be_valid
17
+ @hist.errors.size.should == 1
18
+ @hist.errors.get(attr).should == ["can't be blank"]
19
+ @hist.send("#{attr}=", Factory.build(:record_history_model).send(attr ))
20
+ @hist.should be_valid
21
+ end
22
+ end
23
+ end
24
+
25
+ context "associations" do
26
+ before :each do
27
+ @hist = Factory.create(:record_history_model)
28
+ end
29
+
30
+ it "item" do
31
+ item = @hist.item
32
+ item.class.name.should == @hist.item_type
33
+ item.id.should == @hist.item.id
34
+
35
+ item.record_history.first.should == @hist
36
+ end
37
+
38
+ it "author" do
39
+ author = @hist.author
40
+ author.class.name.should == @hist.author_type
41
+ author.id.should == @hist.author_id
42
+
43
+ author.written_history.first.class.name.should == "RecordHistoryModel"
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,36 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
2
+ $:.unshift(File.dirname(__FILE__))
3
+ plugin_test_dir = File.dirname(__FILE__)
4
+
5
+ require 'rubygems'
6
+ require 'bundler/setup'
7
+
8
+ require 'rspec'
9
+ require 'rspec-set'
10
+ require 'shoulda-matchers'
11
+ require 'logger'
12
+ require 'factory_girl'
13
+ require 'faker'
14
+
15
+ require 'active_support'
16
+ require 'active_model'
17
+ require 'active_record'
18
+
19
+ require 'record_history'
20
+
21
+ ActiveRecord::Base.logger = Logger.new(plugin_test_dir + "/debug.log")
22
+
23
+ require 'yaml'
24
+ require 'erb'
25
+ ActiveRecord::Base.configurations = YAML::load(ERB.new(IO.read(plugin_test_dir + "/db/database.yml")).result)
26
+ ActiveRecord::Base.establish_connection(ENV["DB"] || "sqlite3mem")
27
+ ActiveRecord::Migration.verbose = false
28
+ load(File.join(plugin_test_dir, "db", "schema.rb"))
29
+
30
+ require 'support/models'
31
+
32
+ RSpec.configure do |config|
33
+ config.after do
34
+ FactoryGirl.reload
35
+ end
36
+ end
@@ -0,0 +1,13 @@
1
+ class User < ActiveRecord::Base
2
+ is_record_history_author
3
+
4
+ validates :login, :password, :name, :presence => true
5
+ validates :login, :uniqueness => true
6
+ end
7
+
8
+ class SomeData < ActiveRecord::Base
9
+ has_record_history :only => [:name, :value]
10
+
11
+ validates :name, :presence => true, :uniqueness => true
12
+ validates :value, :presence => true
13
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: record_history
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.8.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,33 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-22 00:00:00.000000000 Z
12
+ date: 2012-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &17195092220 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *17195092220
25
+ - !ruby/object:Gem::Dependency
26
+ name: factory_girl
27
+ requirement: &17195091680 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *17195091680
14
36
  - !ruby/object:Gem::Dependency
15
37
  name: yard
16
- requirement: &17190158620 !ruby/object:Gem::Requirement
38
+ requirement: &17195090060 !ruby/object:Gem::Requirement
17
39
  none: false
18
40
  requirements:
19
41
  - - ~>
@@ -21,10 +43,10 @@ dependencies:
21
43
  version: 0.7.5
22
44
  type: :development
23
45
  prerelease: false
24
- version_requirements: *17190158620
46
+ version_requirements: *17195090060
25
47
  - !ruby/object:Gem::Dependency
26
48
  name: redcarpet
27
- requirement: &17190157920 !ruby/object:Gem::Requirement
49
+ requirement: &17195105560 !ruby/object:Gem::Requirement
28
50
  none: false
29
51
  requirements:
30
52
  - - ~>
@@ -32,7 +54,73 @@ dependencies:
32
54
  version: '1.17'
33
55
  type: :development
34
56
  prerelease: false
35
- version_requirements: *17190157920
57
+ version_requirements: *17195105560
58
+ - !ruby/object:Gem::Dependency
59
+ name: sqlite3
60
+ requirement: &17195104800 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *17195104800
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-set
71
+ requirement: &17195103920 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *17195103920
80
+ - !ruby/object:Gem::Dependency
81
+ name: faker
82
+ requirement: &17195103400 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *17195103400
91
+ - !ruby/object:Gem::Dependency
92
+ name: activesupport
93
+ requirement: &17195102940 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: *17195102940
102
+ - !ruby/object:Gem::Dependency
103
+ name: activemodel
104
+ requirement: &17195102460 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *17195102460
113
+ - !ruby/object:Gem::Dependency
114
+ name: activerecord
115
+ requirement: &17195101980 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *17195101980
36
124
  description: ActiveRecord versioning
37
125
  email:
38
126
  - m.gulin@gmail.com
@@ -53,7 +141,12 @@ files:
53
141
  - Rakefile
54
142
  - doc/CreateRecordHistories.html
55
143
  - doc/RecordHistory.html
144
+ - doc/RecordHistory/Controller.html
56
145
  - doc/RecordHistory/InstallGenerator.html
146
+ - doc/RecordHistory/Model.html
147
+ - doc/RecordHistory/Model/ClassMethods.html
148
+ - doc/RecordHistory/Model/InstanceMethods.html
149
+ - doc/RecordHistoryModel.html
57
150
  - doc/_index.html
58
151
  - doc/class_list.html
59
152
  - doc/css/common.css
@@ -72,11 +165,21 @@ files:
72
165
  - lib/generators/record_history/install_generator.rb
73
166
  - lib/generators/record_history/templates/create_record_histories.rb
74
167
  - lib/record_history.rb
168
+ - lib/record_history/controller.rb
75
169
  - lib/record_history/has_record_history.rb
76
170
  - lib/record_history/record_history_model.rb
77
171
  - lib/record_history/version.rb
78
172
  - pkg/record_history-0.0.1.gem
79
173
  - record_history.gemspec
174
+ - spec/db/database.yml
175
+ - spec/db/schema.rb
176
+ - spec/debug.log
177
+ - spec/factories/record_history_models.rb
178
+ - spec/factories/some_datas.rb
179
+ - spec/factories/users.rb
180
+ - spec/record_history_spec.rb
181
+ - spec/spec_helper.rb
182
+ - spec/support/models.rb
80
183
  homepage: ''
81
184
  licenses: []
82
185
  post_install_message: