common_repository_model 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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