common_repository_model 0.0.5 → 0.0.6

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 CHANGED
@@ -8,4 +8,19 @@ Rake::TestTask.new do |t|
8
8
  t.verbose = true
9
9
  end
10
10
 
11
- task :default => :test
11
+ task :default => :test
12
+
13
+ # These two items are included for internal testing purposes.
14
+ import(
15
+ File.expand_path(
16
+ 'lib/tasks/common_repository_model.tasks', File.dirname(__FILE__)
17
+ )
18
+ )
19
+ task :environment do
20
+ require 'active_fedora'
21
+ ActiveFedora.init(
22
+ fedora_config_path: File.join(File.dirname(__FILE__),"spec/config/fedora.yml"),
23
+ solr_config_path: File.join(File.dirname(__FILE__),"spec/config/solr.yml"),
24
+ environment: :test
25
+ )
26
+ end
@@ -3,3 +3,5 @@ require "common_repository_model/version"
3
3
  module CommonRepositoryModel
4
4
  # Your code goes here...
5
5
  end
6
+
7
+ require 'common_repository_model/railtie' if defined?(Rails)
@@ -18,11 +18,11 @@ module CommonRepositoryModel
18
18
  delegate_to 'properties', [:name], unique: true
19
19
 
20
20
  def self.find_by_name(name)
21
- find({name_s: name}).first
21
+ find({'name_s' => name}).first
22
22
  end
23
23
 
24
24
  def self.find_by_name!(name)
25
- find({name_s: name.to_s}).first ||
25
+ find_by_name(name) ||
26
26
  raise(
27
27
  CommonRepositoryModel::ObjectNotFoundError.new(
28
28
  "#{self} with name: #{name.to_s} not found"
@@ -0,0 +1,7 @@
1
+ module CommonRepositoryModel
2
+ class Railtie < Rails::Railtie
3
+ rake_tasks do
4
+ load "tasks/common_repository_model.tasks"
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module CommonRepositoryModel
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -0,0 +1,49 @@
1
+ namespace :common_repository_model do
2
+ task :prompt_for_area => :environment do
3
+ require 'highline'
4
+ highline = HighLine.new
5
+ prompt_message = "Area Name to Create in Fedora:"
6
+ @area_name = highline.ask(prompt_message)
7
+ @verified_area_name = highline.ask("Verify #{prompt_message}")
8
+ end
9
+ task :validate_area_name => :environment do
10
+ if @area_name.to_s.strip.size == 0
11
+ message = "Area Name cannot be blank"
12
+ $stderr.puts("\n\n\n#{message}\n\n\n")
13
+ raise RuntimeError, message
14
+ elsif @verified_area_name.to_s.strip.size == 0
15
+ message = "Verified Area Name cannot be blank"
16
+ $stderr.puts("\n\n\n#{message}\n\n\n")
17
+ raise RuntimeError, message
18
+ elsif @area_name != @verified_area_name
19
+ message = "Area Name and Verified Area Name do not match:"
20
+ message << "\n\t#{@area_name}\n\t#{@verified_area_name}"
21
+ $stderr.puts("\n\n\n#{message}\n\n\n")
22
+ raise RuntimeError, message
23
+ end
24
+
25
+ end
26
+ desc "Create an Area in the CommonRepositoryModel.
27
+ You will be prompted for a name"
28
+ task :create_area => :environment do
29
+ if ENV['AREA_NAME']
30
+ @verified_area_name = @area_name = ENV['AREA_NAME']
31
+ Rake::Task['common_repository_model:validate_area_name'].invoke
32
+ else
33
+ Rake::Task['common_repository_model:prompt_for_area'].invoke
34
+ Rake::Task['common_repository_model:validate_area_name'].invoke
35
+ end
36
+ require 'common_repository_model/area'
37
+ if area = CommonRepositoryModel::Area.find_by_name(@area_name)
38
+ $stdout.puts(
39
+ "\n\n\nArea Name #{@area_name} already exists as PID: #{area.pid}\n\n"
40
+ )
41
+ else
42
+ area = CommonRepositoryModel::Area.new(name: @area_name)
43
+ area.send(:save!)
44
+ $stdout.puts(
45
+ "\n\n\nCreated Area Name #{area.name.inspect} with PID: #{area.pid.inspect}\n\n"
46
+ )
47
+ end
48
+ end
49
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: common_repository_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-16 00:00:00.000000000 Z
12
+ date: 2012-11-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -143,11 +143,13 @@ files:
143
143
  - lib/common_repository_model/data.rb
144
144
  - lib/common_repository_model/file_datastream.rb
145
145
  - lib/common_repository_model/persistence_base.rb
146
+ - lib/common_repository_model/railtie.rb
146
147
  - lib/common_repository_model/version.rb
147
148
  - lib/generators/common_repository_model/collection/USAGE
148
149
  - lib/generators/common_repository_model/collection/collection_generator.rb
149
150
  - lib/generators/common_repository_model/collection/templates/collection.rb.erb
150
151
  - lib/generators/common_repository_model/collection/templates/collection_spec.rb.erb
152
+ - lib/tasks/common_repository_model.tasks
151
153
  - spec/common_respository_model/area_spec.rb
152
154
  - spec/common_respository_model/collection_spec.rb
153
155
  - spec/common_respository_model/data_spec.rb