simple_record 2.1.3 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +0,0 @@
1
-
2
- class ModelWithEnc < SimpleRecord::Base
3
- has_strings :name,
4
- {:name=>:ssn, :encrypted=>"simple_record_test_key"},
5
- {:name=>:password, :hashed=>true}
6
- end
@@ -1,8 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
2
-
3
- class MyBaseModel < SimpleRecord::Base
4
-
5
- has_strings :base_string
6
-
7
-
8
- end
@@ -1,35 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
2
- require_relative 'my_model'
3
-
4
- class MyChildModel < SimpleRecord::Base
5
- belongs_to :my_model
6
- belongs_to :x, :class_name=>"MyModel"
7
- has_attributes :name, :child_attr
8
-
9
- end
10
-
11
-
12
- =begin
13
-
14
-
15
- puts 'word'
16
-
17
- mm = MyModel.new
18
- puts 'word2'
19
-
20
- mcm = MyChildModel.new
21
-
22
- puts 'mcm instance methods=' + MyChildModel.instance_methods(true).inspect
23
- #puts 'mcm=' + mcm.instance_methods(false)
24
- puts 'mcm class vars = ' + mcm.class.class_variables.inspect
25
- puts mcm.class == MyChildModel
26
- puts 'saved? ' + mm.save.to_s
27
- puts mm.errors.inspect
28
-
29
- puts "mm attributes=" + MyModel.defined_attributes.inspect
30
- puts "mcm attributes=" + MyChildModel.defined_attributes.inspect
31
-
32
- mcm2 = MyChildModel.new
33
- puts "mcm2 attributes=" + MyChildModel.defined_attributes.inspect
34
-
35
- =end
data/test/my_model.rb DELETED
@@ -1,101 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
2
- require_relative 'my_base_model'
3
- require_relative 'my_sharded_model'
4
-
5
- class MyModel < MyBaseModel
6
-
7
- has_strings :name, :nickname, :s1, :s2
8
- has_ints :age, :save_count
9
- has_booleans :cool
10
- has_dates :birthday, :date1, :date2, :date3
11
-
12
- # validates_presence_of :name
13
-
14
- # validate :validate
15
- # before_create :validate_on_create
16
- # before_update :validate_on_update
17
-
18
- belongs_to :my_sharded_model
19
-
20
- has_clobs :clob1, :clob2
21
-
22
- attr_accessor :attr_before_save, :attr_after_save, :attr_before_create, :attr_after_create, :attr_after_update
23
-
24
- #callbacks
25
- before_create :set_nickname
26
- after_create :after_create
27
-
28
- before_save :before_save
29
-
30
- after_save :after_save
31
- after_update :after_update
32
-
33
- def set_nickname
34
- puts 'before_create set nickname'
35
- @attr_before_create = true
36
- self.nickname = name if self.nickname.blank?
37
- end
38
-
39
- def before_save
40
- puts 'before_save'
41
- @attr_before_save = true
42
- end
43
-
44
- def after_create
45
- puts 'after_create'
46
- @attr_after_create = true
47
- end
48
-
49
- def after_save
50
- puts "after_save"
51
- @attr_after_save = true
52
- bump_save_count
53
- end
54
- def after_update
55
- puts "after_update"
56
- @attr_after_update = true
57
- end
58
-
59
- def bump_save_count
60
- puts 'after_save bump save_count=' + save_count.to_s
61
- if save_count.nil?
62
- self.save_count = 1
63
- else
64
- self.save_count += 1
65
- end
66
- # puts 'save_count=' + self.save_count.to_s
67
- end
68
-
69
- def validate
70
- puts 'MyModel.validate'
71
- errors.add("name", "can't be empty.") if name.blank?
72
- # errors.add("nickname", "can't be empty.") if nickname.blank?
73
- end
74
-
75
- def validate_on_create
76
- puts 'MyModel.validate_on_create'
77
- errors.add("save_count", "should be zero.") if !save_count.blank? && save_count > 0
78
- end
79
-
80
- def validate_on_update
81
- puts 'MyModel.validate_on_update'
82
- # puts 'save_count = ' + save_count.to_s
83
- # errors.add("save_count", "should not be zero.") if save_count.blank? || save_count == 0
84
- end
85
-
86
- def atts
87
- @@attributes
88
- end
89
-
90
-
91
- end
92
-
93
-
94
- class SingleClobClass < SimpleRecord::Base
95
-
96
- sr_config :single_clob=>true
97
-
98
- has_strings :name
99
-
100
- has_clobs :clob1, :clob2
101
- end
@@ -1,46 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
2
-
3
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
4
-
5
- class MyShardedModel < SimpleRecord::Base
6
-
7
- shard :shards=>:my_shards, :map=>:my_mapping_function
8
-
9
- has_strings :name
10
-
11
- def self.num_shards
12
- 4
13
- end
14
-
15
- def self.my_shards
16
- Array(0...self.num_shards)
17
- end
18
-
19
- def my_mapping_function
20
- shard_num = SimpleRecord::Sharding::Hashing.sdbm_hash(self.id) % self.class.num_shards
21
- puts "shard_num=" + shard_num.inspect
22
- shard_num
23
- end
24
-
25
- def self.shard_for_find(id)
26
- shard_num = SimpleRecord::Sharding::Hashing.sdbm_hash(id) % self.num_shards
27
- end
28
-
29
- end
30
-
31
-
32
- class MyShardedByFieldModel < SimpleRecord::Base
33
-
34
- shard :shards=>:my_shards, :map=>:my_mapping_function
35
-
36
- has_strings :name, :state
37
-
38
- def self.my_shards
39
- ['AL', 'CA', 'FL', 'NY']
40
- end
41
-
42
- def my_mapping_function
43
- state
44
- end
45
-
46
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
2
- require_relative 'my_base_model'
3
- require_relative 'my_sharded_model'
4
-
5
- class MySimpleModel < SimpleRecord::Base
6
-
7
- has_strings :name, :nickname, :s1, :s2
8
- has_ints :age, :save_count
9
- has_booleans :cool
10
- has_dates :birthday, :date1, :date2, :date3
11
-
12
-
13
- end
@@ -1,15 +0,0 @@
1
-
2
- require File.expand_path(File.dirname(__FILE__) + "/../lib/results_array")
3
-
4
- array = SimpleRecord::ResultsArray.new()
5
- #array.extend(ResultsArray)
6
-
7
- 500.times do |i|
8
- array << "_ob_" + i.to_s
9
- end
10
-
11
- array.each do |v|
12
- puts v.to_s
13
- end
14
-
15
- puts array[10]
data/test/temp.rb DELETED
@@ -1,9 +0,0 @@
1
- require_relative 'my_model'
2
-
3
-
4
- begin
5
- raise StandardError
6
- rescue => ex
7
- p ex
8
- puts ex.message
9
- end
data/test/temp_test.rb DELETED
@@ -1,63 +0,0 @@
1
- # rubymine won't run 1.9 tests
2
-
3
- require 'minitest/unit'
4
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
5
- require "yaml"
6
- require 'aws'
7
- require 'my_model'
8
- require 'my_child_model'
9
-
10
-
11
- def setup
12
- @config = YAML::load(File.read('test-config.yml'))
13
- puts 'akey=' + @config['amazon']['access_key']
14
- puts 'skey=' + @config['amazon']['secret_key']
15
- SimpleRecord.establish_connection(@config['amazon']['access_key'], @config['amazon']['secret_key'], :port=>80, :protocol=>"http")
16
- SimpleRecord::Base.set_domain_prefix("simplerecord_tests_")
17
- end
18
-
19
- def teardown
20
- SimpleRecord.close_connection()
21
- end
22
-
23
- def test_dates
24
- mm = MyModel.new
25
- mm.name = "Travis"
26
- mm.age = 32
27
- mm.cool = true
28
- mm.created = DateTime.now - 10
29
- mm.updated = DateTime.now
30
- mm.birthday = Time.now - (3600 * 24 * 365 * 10)
31
- puts 'before save=' + mm.inspect
32
- mm.save
33
- puts 'after save=' + mm.inspect
34
-
35
- mms = MyModel.find(:all, :conditions => ["created > ?", DateTime.now - 1])
36
- puts 'mms=' + mms.inspect
37
-
38
- end
39
-
40
- def test_date_comparisons
41
-
42
- t = SimpleRecord::Base.pad_and_offset(Time.now)
43
- puts t
44
- dt = SimpleRecord::Base.pad_and_offset(DateTime.now)
45
- puts dt
46
- dt_tomorrow = SimpleRecord::Base.pad_and_offset(DateTime.now + 1)
47
-
48
-
49
- puts 'compare=' + (t <=> dt).to_s
50
- puts 'compare=' + (t <=> dt_tomorrow).to_s
51
-
52
- dts = DateTime.parse(dt_tomorrow)
53
- puts dts.to_s
54
- ts = Time.parse(dt)
55
- puts ts.to_s
56
- end
57
-
58
- setup
59
-
60
- #test_dates
61
- test_date_comparisons
62
-
63
- teardown
data/test/test_base.rb DELETED
@@ -1,67 +0,0 @@
1
- require 'test/unit'
2
- require File.join(File.dirname(__FILE__), "/../lib/simple_record")
3
- require File.join(File.dirname(__FILE__), "./test_helpers")
4
- require "yaml"
5
- require 'aws'
6
- require_relative 'my_model'
7
- require_relative 'my_child_model'
8
- require 'active_support'
9
-
10
- class TestBase < Test::Unit::TestCase
11
-
12
-
13
- def setup
14
- reset_connection()
15
-
16
- end
17
-
18
- def teardown
19
- SimpleRecord.close_connection
20
- end
21
-
22
- def delete_all(clz)
23
- puts 'delete_all ' + clz.name
24
- obs = clz.find(:all)
25
- obs.each do |o|
26
- o.delete
27
- end
28
- # @@sdb.select("select * from #{domain}") do |o|
29
- # o.delete
30
- # end
31
- end
32
-
33
- def reset_connection(options={})
34
- puts 'reset_connection'
35
- @config = YAML::load(File.open(File.expand_path("~/.test_configs/simple_record.yml")))
36
- #puts 'inspecting config = ' + @config.inspect
37
-
38
- SimpleRecord.enable_logging
39
-
40
- SimpleRecord::Base.set_domain_prefix("simplerecord_tests_")
41
- SimpleRecord.establish_connection(@config['amazon']['access_key'], @config['amazon']['secret_key'],
42
- {:connection_mode=>:single}.merge(options))
43
-
44
-
45
- # Establish AWS connection directly
46
- @@sdb = Aws::SdbInterface.new(@config['amazon']['access_key'], @config['amazon']['secret_key'],
47
- {:connection_mode => :single}.merge(options))
48
-
49
- end
50
-
51
-
52
- # Use to populate db
53
- def create_my_models(count)
54
- batch = []
55
- count.times do |i|
56
- mm = MyModel.new(:name=>"model_" + i.to_s)
57
- mm.age = i
58
- batch << mm
59
- end
60
- MyModel.batch_save batch
61
-
62
- sleep 2
63
-
64
- end
65
-
66
-
67
- end
data/test/test_dirty.rb DELETED
@@ -1,79 +0,0 @@
1
- require 'test/unit'
2
- require File.expand_path(File.dirname(__FILE__) + "/../lib/simple_record")
3
- require "yaml"
4
- require 'aws'
5
- require 'my_model'
6
- require 'my_child_model'
7
- require 'active_support'
8
- require 'test_base'
9
-
10
-
11
- class Person < SimpleRecord::Base
12
- has_strings :name, :i_as_s
13
- has_ints :age
14
- end
15
- class DirtyTest < TestBase
16
-
17
- def setup
18
- super
19
-
20
- Person.create_domain
21
- @person = Person.new(:name => 'old', :age => 70)
22
- @person.save
23
-
24
- assert !@person.changed?
25
- assert !@person.name_changed?
26
- end
27
-
28
- def teardown
29
- Person.delete_domain
30
- SimpleRecord.close_connection
31
- end
32
-
33
- def test_same_value_are_not_dirty
34
- @person.name = "old"
35
-
36
- assert !@person.changed?
37
- assert !@person.name_changed?
38
-
39
- @person.age = 70
40
- puts 'age_change2=' + @person.age_change.inspect
41
- assert !@person.changed?
42
- assert !@person.age_changed?
43
- end
44
-
45
- def test_reverted_changes_are_not_dirty
46
- @person.name = "new"
47
- assert @person.changed?
48
- assert @person.name_changed?
49
-
50
- @person.name = "old"
51
- assert !@person.changed?
52
- assert !@person.name_changed?
53
-
54
- @person.age = 15
55
- assert @person.changed?
56
- assert @person.age_changed?
57
-
58
- @person.age = 70
59
- puts 'age_change2=' + @person.age_change.inspect
60
- assert !@person.changed?
61
- assert !@person.age_changed?
62
- end
63
-
64
- def test_storing_int_as_string
65
- @person.i_as_s = 5
66
- assert @person.changed?
67
- assert @person.i_as_s_changed?
68
- @person.save
69
-
70
- sleep 2
71
-
72
- @person.i_as_s = 5
73
- puts 'i_as_s_changed=' + @person.i_as_s_change.inspect
74
- # Maybe this should fail? What do we expect this behavior to be?
75
- # assert !@person.changed?
76
- # assert !@person.i_as_s_changed?
77
-
78
- end
79
- end