datashift 0.10.1 → 0.10.2
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.
- data/Rakefile +6 -1
- data/VERSION +1 -1
- data/datashift.gemspec +13 -6
- data/lib/datashift.rb +2 -20
- data/lib/datashift/exceptions.rb +2 -0
- data/lib/datashift/method_detail.rb +15 -29
- data/lib/datashift/method_dictionary.rb +36 -21
- data/lib/datashift/method_mapper.rb +56 -16
- data/lib/datashift/populator.rb +23 -0
- data/lib/datashift/querying.rb +86 -0
- data/lib/generators/csv_generator.rb +1 -4
- data/lib/generators/excel_generator.rb +28 -11
- data/lib/generators/generator_base.rb +12 -0
- data/lib/loaders/csv_loader.rb +9 -3
- data/lib/loaders/excel_loader.rb +14 -6
- data/lib/loaders/loader_base.rb +38 -125
- data/lib/loaders/paperclip/attachment_loader.rb +130 -62
- data/lib/loaders/paperclip/datashift_paperclip.rb +46 -12
- data/lib/loaders/paperclip/image_loading.rb +25 -41
- data/lib/thor/generate.thor +16 -6
- data/lib/thor/paperclip.thor +25 -5
- data/spec/Gemfile +3 -2
- data/spec/MissingAttachmentRecords/DEMO_001_ror_bag.jpeg +0 -0
- data/spec/{fixtures/images/DEMO_002_Powerstation.jpg → MissingAttachmentRecords/DEMO_002_Powerstation.jpeg} +0 -0
- data/spec/MissingAttachmentRecords/DEMO_002_Powerstation.jpg +0 -0
- data/spec/MissingAttachmentRecords/DEMO_003_ror_mug.jpeg +0 -0
- data/spec/MissingAttachmentRecords/DEMO_004_ror_ringer.jpeg +0 -0
- data/spec/excel_generator_spec.rb +28 -0
- data/spec/excel_loader_spec.rb +12 -17
- data/spec/fixtures/config/database.yml +1 -1
- data/spec/fixtures/db/datashift_test_models_db.sqlite +0 -0
- data/spec/fixtures/db/migrate/20121009161700_add_digitals.rb +24 -0
- data/spec/fixtures/images/DEMO_002_Powerstation.jpeg +0 -0
- data/spec/fixtures/models/digital.rb +14 -0
- data/spec/fixtures/models/owner.rb +5 -3
- data/spec/fixtures/test_model_defs.rb +4 -62
- data/spec/loader_spec.rb +42 -50
- data/spec/method_dictionary_spec.rb +3 -10
- data/spec/method_mapper_spec.rb +79 -20
- data/spec/paperclip_loader_spec.rb +95 -0
- data/spec/spec_helper.rb +44 -8
- metadata +236 -224
- data/lib/helpers/rake_utils.rb +0 -42
- data/spec/fixtures/models/test_model_defs.rb +0 -67
data/lib/helpers/rake_utils.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# Copyright:: (c) Autotelik Media Ltd 2011
|
2
|
-
# Author :: Tom Statter
|
3
|
-
# Date :: Aug 2011
|
4
|
-
# License:: MIT
|
5
|
-
#
|
6
|
-
#
|
7
|
-
module RakeUtils
|
8
|
-
|
9
|
-
# Method to check arguments from a rake task and display help if required
|
10
|
-
#
|
11
|
-
# Expects a block which prints out the usage information
|
12
|
-
#
|
13
|
-
# task_args is expected to be of type Rake::TaskArguments
|
14
|
-
#
|
15
|
-
# NOTES: TaskArgs - bit of a weird class, has internal hash but also looks up on ENV
|
16
|
-
# So if ENV[:filter] defined, args[:filter] would return the value,
|
17
|
-
# but it would not show up in args.inspect or args.to_s or args.to_hash
|
18
|
-
#
|
19
|
-
def self.check_args( task_args, required = [] )
|
20
|
-
|
21
|
-
# Tasks that call other tasks may wish to switch off displaying help for those sub tasks
|
22
|
-
|
23
|
-
if( block_given? )
|
24
|
-
yield unless task_args && required
|
25
|
-
|
26
|
-
# Does task_args contain keys for ALL required items
|
27
|
-
if(task_args[:help] || ENV['help'])
|
28
|
-
yield
|
29
|
-
exit(-1)
|
30
|
-
end
|
31
|
-
|
32
|
-
required.each do |r|
|
33
|
-
unless(task_args.send(r))# || task_args[r.to_sym])
|
34
|
-
puts "ERROR: Missing mandatory Param [#{r}]"
|
35
|
-
yield
|
36
|
-
exit(-1)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
# A set of models and associations we can use in our specs to test
|
2
|
-
# basic database columns and also relationships
|
3
|
-
|
4
|
-
# See Companion migration spec/db/migrate
|
5
|
-
|
6
|
-
class Project < ActiveRecord::Base
|
7
|
-
|
8
|
-
has_one :owner
|
9
|
-
|
10
|
-
has_many :milestones
|
11
|
-
|
12
|
-
has_many :loader_releases
|
13
|
-
has_many :versions, :through => :loader_releases
|
14
|
-
|
15
|
-
|
16
|
-
#has_many :release_versions, :through => :loader_releases, :source => :versions
|
17
|
-
|
18
|
-
has_and_belongs_to_many :categories
|
19
|
-
|
20
|
-
attr_accessible :value_as_string, :value_as_boolean, :value_as_double
|
21
|
-
|
22
|
-
def multiply
|
23
|
-
10 * value_as_double
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
class Owner < ActiveRecord::Base
|
29
|
-
belongs_to :project
|
30
|
-
end
|
31
|
-
|
32
|
-
class Milestone < ActiveRecord::Base
|
33
|
-
belongs_to :project
|
34
|
-
#validate the name, cost
|
35
|
-
|
36
|
-
delegate :title, :title=, :to => :project
|
37
|
-
end
|
38
|
-
|
39
|
-
# had_and_belongs to join table
|
40
|
-
class Category < ActiveRecord::Base
|
41
|
-
has_and_belongs_to_many :projects
|
42
|
-
end
|
43
|
-
|
44
|
-
|
45
|
-
class Version < ActiveRecord::Base
|
46
|
-
has_many :releases
|
47
|
-
|
48
|
-
has_one :long_and_complex_table_linked_to_version
|
49
|
-
end
|
50
|
-
|
51
|
-
# Join Table with additional columns
|
52
|
-
class LoaderRelease < ActiveRecord::Base
|
53
|
-
|
54
|
-
belongs_to :project
|
55
|
-
belongs_to :version
|
56
|
-
|
57
|
-
#validate the name
|
58
|
-
end
|
59
|
-
|
60
|
-
class Empty < ActiveRecord::Base
|
61
|
-
end
|
62
|
-
|
63
|
-
# Join Table with additional columns
|
64
|
-
class LongAndComplexTableLinkedToVersion < ActiveRecord::Base
|
65
|
-
|
66
|
-
belongs_to :version
|
67
|
-
end
|