built_in_data 1.1.0 → 1.1.4
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 +5 -5
- data/Rakefile +5 -27
- data/lib/built_in_data/version.rb +1 -1
- data/lib/built_in_data.rb +15 -6
- data/test/built_in_data_test.rb +7 -0
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/config/application.rb +0 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +3100 -932
- data/test/test_helper.rb +5 -0
- metadata +38 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9394bd2479dccf207f906c6ca48653287a621c5d6522306b770e556fce552d56
|
4
|
+
data.tar.gz: 9e1d7d9e4ef5706036452492f31bdd1061b79d8fc048c8cd891a1c68bb9f1793
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 638ce6c855a13e1254ff71a0e3fe5888d7c4c8996d70277e58ea2636f470dabde48922bca6aa60c6459487d0604329a4f8d9d49c266732c2dcd192281f49e874
|
7
|
+
data.tar.gz: 6d737a730d0b4a63b7393babcb4de49fdff07e0b1a556bd07d436769c97d3d8c6bf05ee9befea440798a580ad19a2f291f32f9c05529cae747b6e65ed972006a
|
data/Rakefile
CHANGED
@@ -1,32 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
rescue LoadError
|
4
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
-
end
|
6
|
-
|
7
|
-
require 'rdoc/task'
|
8
|
-
|
9
|
-
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
-
rdoc.rdoc_dir = 'rdoc'
|
11
|
-
rdoc.title = 'BuiltInData'
|
12
|
-
rdoc.options << '--line-numbers'
|
13
|
-
rdoc.rdoc_files.include('README.rdoc')
|
14
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
Bundler::GemHelper.install_tasks
|
21
|
-
|
22
|
-
require 'rake/testtask'
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "rake/testtask"
|
23
3
|
|
24
4
|
Rake::TestTask.new(:test) do |t|
|
25
|
-
t.libs <<
|
26
|
-
t.libs <<
|
27
|
-
t.
|
28
|
-
t.verbose = false
|
5
|
+
t.libs << "test"
|
6
|
+
t.libs << "lib"
|
7
|
+
t.test_files = FileList["test/**/*_test.rb"]
|
29
8
|
end
|
30
9
|
|
31
|
-
|
32
10
|
task default: :test
|
data/lib/built_in_data.rb
CHANGED
@@ -3,7 +3,7 @@ module BuiltInData
|
|
3
3
|
|
4
4
|
included do
|
5
5
|
# all built in data objects should have a built_in_key, model objects without a key will not be modified or removed
|
6
|
-
validates_uniqueness_of :built_in_key, :
|
6
|
+
validates_uniqueness_of :built_in_key, allow_nil: true, case_sensitive: false
|
7
7
|
|
8
8
|
scope :built_in, -> { where "#{table_name}.built_in_key IS NOT NULL" }
|
9
9
|
end
|
@@ -29,6 +29,11 @@ module BuiltInData
|
|
29
29
|
built_in_object_ids[key]
|
30
30
|
end
|
31
31
|
|
32
|
+
def delete_all
|
33
|
+
@built_in_object_ids = nil
|
34
|
+
super
|
35
|
+
end
|
36
|
+
|
32
37
|
private
|
33
38
|
|
34
39
|
def prepare_objects_hash(hash)
|
@@ -36,10 +41,14 @@ module BuiltInData
|
|
36
41
|
end
|
37
42
|
|
38
43
|
def load_yaml_data
|
39
|
-
# allow a standard key to be used for
|
40
|
-
YAML.
|
44
|
+
# allow a standard key to be used for defaults in YAML files
|
45
|
+
YAML.safe_load(
|
46
|
+
read_and_erb_process_yaml_file,
|
47
|
+
permitted_classes: [Date],
|
48
|
+
aliases: true
|
49
|
+
).except('DEFAULTS')
|
41
50
|
end
|
42
|
-
|
51
|
+
|
43
52
|
def read_and_erb_process_yaml_file
|
44
53
|
ERB.new(File.read(Rails.root.join('db', 'built_in_data', "#{table_name}.yml"))).result
|
45
54
|
end
|
@@ -50,7 +59,7 @@ module BuiltInData
|
|
50
59
|
object.save!
|
51
60
|
end
|
52
61
|
end
|
53
|
-
|
62
|
+
|
54
63
|
# memoized hash of built in object ids
|
55
64
|
def built_in_object_ids
|
56
65
|
@built_in_object_ids ||= Hash.new do |hash, key|
|
@@ -58,7 +67,7 @@ module BuiltInData
|
|
58
67
|
end
|
59
68
|
end
|
60
69
|
end
|
61
|
-
|
70
|
+
|
62
71
|
def built_in?
|
63
72
|
!built_in_key.blank?
|
64
73
|
end
|
data/test/built_in_data_test.rb
CHANGED
@@ -87,6 +87,13 @@ class BuiltInDataTest < ActiveSupport::TestCase
|
|
87
87
|
load_hash_data
|
88
88
|
assert_equal NationalPark.where(name: 'Yellowstone National Park').first.id, NationalPark.built_in_object_id(:test)
|
89
89
|
end
|
90
|
+
|
91
|
+
test 'should clear built_in_object_ids cache when delete_all is called' do
|
92
|
+
NationalPark.instance_variable_set('@built_in_object_ids', 'testing')
|
93
|
+
|
94
|
+
NationalPark.delete_all
|
95
|
+
assert_nil NationalPark.instance_variable_get('@built_in_object_ids')
|
96
|
+
end
|
90
97
|
|
91
98
|
private
|
92
99
|
|
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|