active-fedora 2.3.3 → 2.3.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -12,6 +12,7 @@ tmtags
12
12
 
13
13
  ## VIM
14
14
  *.swp
15
+ *.swo
15
16
 
16
17
  ##SVN
17
18
  .svn
@@ -305,7 +305,7 @@ ActiveFedora::Base.find(:all)
305
305
  SpecialThing.find(:all)
306
306
  </pre>
307
307
 
308
- Note that the results from these two searches do not overlap. Base.find will only return objects that have been saved with active_fedora_model_field set to "info:fedora/afmodel:Base". If you open an object as an instance of a different model and save it as that model, it will overwrite the active_fedora_model_field. This is, of course, no good. That's why the method will be rewritten in "Version 1.1":/versions/show/7. In the meantime, you could search directly against Solr with queries like this:
308
+ You can also query solr directly like so:
309
309
 
310
310
  <pre>
311
311
  solr_result = ActiveFedora::SolrService.instance.conn.query('has_model_s:info\:fedora/afmodel\:SpecialThing')
@@ -366,5 +366,5 @@ Notice that properties and DC have been loaded as ActiveFedora::Datastream, RELS
366
366
 
367
367
  h2. Where to Find More Information
368
368
 
369
- You can examine the files in lib/active_fedora/samples to learn more about how to define ActiveFedora models and OM-based datastreams. We also suggest you read about "OM-based NokogiriDatastreams":https://github.com/mediashelf/active_fedora/blob/master/NOKOGIRI_DATASTREAMS.textile to learn about manipulating XML contained in datastreams.
369
+ You can examine the files in lib/active_fedora/samples to learn more about how to define ActiveFedora models and OM-based datastreams. We also suggest you read about "OM-based NokogiriDatastreams":http://hudson.projecthydra.org/job/active_fedora/Documentation/file.NOKOGIRI_DATASTREAMS.html to learn about manipulating XML contained in datastreams.
370
370
 
data/Gemfile CHANGED
@@ -1,17 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- group :development, :test do
4
- gem "jeweler"
5
- gem "rspec", "<2.0.0"
6
- gem "mocha", ">= 0.9.8"
7
- gem "ruby-debug"
8
- gem "jettywrapper"
9
- gem "rcov"
10
- gem "yard"
11
- gem "RedCloth"
12
- gem "solrizer-fedora"
13
- end
14
-
15
- # Bundler will rely on active-fedora.gemspec (which is generated by Jeweler section of Rakefile) for runtime dependency information.
3
+ # Bundler will rely on active-fedora.gemspec for dependency information.
16
4
 
17
5
  gemspec
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active-fedora (2.3.2)
4
+ active-fedora (2.3.4)
5
5
  activeresource
6
6
  equivalent-xml
7
7
  facets
8
8
  mediashelf-loggable
9
9
  mime-types (>= 1.16)
10
- multipart-post
10
+ multipart-post (= 1.1.2)
11
11
  nokogiri
12
12
  om (>= 1.0)
13
13
  solr-ruby (>= 0.0.6)
@@ -18,33 +18,33 @@ GEM
18
18
  remote: http://rubygems.org/
19
19
  specs:
20
20
  RedCloth (4.2.7)
21
- activeresource (2.3.12)
22
- activesupport (= 2.3.12)
23
- activesupport (2.3.12)
21
+ activeresource (2.3.14)
22
+ activesupport (= 2.3.14)
23
+ activesupport (2.3.14)
24
24
  builder (3.0.0)
25
- columnize (0.3.2)
26
- daemons (1.1.3)
25
+ columnize (0.3.4)
26
+ daemons (1.1.4)
27
27
  equivalent-xml (0.2.7)
28
28
  nokogiri (>= 1.4.3)
29
29
  facets (2.9.1)
30
- git (1.2.5)
31
- jettywrapper (0.0.3)
32
- jeweler (1.6.0)
33
- bundler (~> 1.0.0)
34
- git (>= 1.2.5)
35
- rake
36
- linecache (0.43)
37
- mediashelf-loggable (0.4.2)
30
+ fastercsv (1.5.4)
31
+ jettywrapper (0.0.10)
32
+ logger
33
+ mediashelf-loggable
34
+ linecache (0.46)
35
+ rbx-require-relative (> 0.0.4)
36
+ logger (1.2.8)
37
+ mediashelf-loggable (0.4.7)
38
38
  mime-types (1.16)
39
39
  mocha (0.9.12)
40
40
  multipart-post (1.1.2)
41
- nokogiri (1.4.4)
42
- om (1.2.4)
41
+ nokogiri (1.5.0)
42
+ om (1.3.0)
43
43
  nokogiri (>= 1.4.2)
44
- om
45
- rake (0.8.7)
46
- rcov (0.9.9)
47
- rsolr (1.0.0)
44
+ rake (0.9.2)
45
+ rbx-require-relative (0.0.5)
46
+ rcov (0.9.10)
47
+ rsolr (1.0.2)
48
48
  builder (>= 2.1.2)
49
49
  rspec (1.3.2)
50
50
  ruby-debug (0.10.4)
@@ -53,24 +53,22 @@ GEM
53
53
  ruby-debug-base (0.10.4)
54
54
  linecache (>= 0.3)
55
55
  solr-ruby (0.0.8)
56
- solrizer (1.0.4)
56
+ solrizer (1.1.0)
57
57
  daemons
58
58
  mediashelf-loggable
59
- mediashelf-loggable
60
- nokogiri
61
59
  nokogiri
62
- nokogiri
63
- om
64
60
  om (>= 1.0.0)
65
61
  stomp
66
62
  xml-simple
67
- solrizer-fedora (1.0.2)
68
- active-fedora (>= 2.0.0)
63
+ solrizer-fedora (1.1.0)
64
+ active-fedora (>= 2.3.0)
65
+ fastercsv
69
66
  rsolr
67
+ solr-ruby (>= 0.0.6)
70
68
  solrizer (>= 1.0.0)
71
- stomp (1.1.8)
72
- xml-simple (1.0.15)
73
- yard (0.6.8)
69
+ stomp (1.1.9)
70
+ xml-simple (1.1.0)
71
+ yard (0.7.2)
74
72
 
75
73
  PLATFORMS
76
74
  ruby
@@ -79,11 +77,10 @@ DEPENDENCIES
79
77
  RedCloth
80
78
  active-fedora!
81
79
  jettywrapper
82
- jeweler
83
80
  mocha (>= 0.9.8)
81
+ rake
84
82
  rcov
85
83
  rspec (< 2.0.0)
86
84
  ruby-debug
87
- solrizer
88
85
  solrizer-fedora
89
86
  yard
@@ -1,3 +1,7 @@
1
+ 2.3.4
2
+ moved dirty assignment to NokogiriDatastream#update_values; added test (Benjamin Armintor)
3
+ Fixed HYDRA-590
4
+
1
5
  2.1.0
2
6
 
3
7
  HYDRUS-151: Base.update_datastream_attributes now relies on update_indexed_attributes instead of update_attributes. This makes it easier to support non-javascript forms (and makes update_datastream_attributes worth using).
@@ -176,4 +180,4 @@ Changelog:
176
180
  * Feature #284: solr document id should by a config option instead of hard coded as "id"
177
181
  * Feature #307: ActiveFedora::Base should provide a label setter.
178
182
  * Feature #314: Relationship finder should provide a "response_format" option, default to format of "objects"
179
- * Feature #327: Option to turn off solr updates (assume that something else will update Solr for you)
183
+ * Feature #327: Option to turn off solr updates (assume that something else will update Solr for you)
@@ -18,7 +18,7 @@ terminology = doc.class.terminology # The terminology is attached to the Documen
18
18
 
19
19
  h2. Setup
20
20
 
21
- This tutorial assumes that you've run script/console from the root of ActiveFedora and have imported the hydrangea:fixture_mods_article1 object. If you haven't done that, see "CONSOLE_GETTING_STARTED":https://github.com/mediashelf/active_fedora/blob/master/CONSOLE_GETTING_STARTED.textile for instructions.
21
+ This tutorial assumes that you've run script/console from the root of ActiveFedora and have imported the hydrangea:fixture_mods_article1 object. If you haven't done that, see "CONSOLE_GETTING_STARTED":http://hudson.projecthydra.org/job/active_fedora/Documentation/file.CONSOLE_GETTING_STARTED.html for instructions.
22
22
 
23
23
  The model definition we're using in this tutorial is {SpecialThing} ( "see the code":https://github.com/mediashelf/active_fedora/blob/master/lib/active_fedora/samples/special_thing.rb )
24
24
 
@@ -5,7 +5,6 @@ RubyFedora and ActiveFedora provide a set of Ruby gems for creating and managing
5
5
  h2. Getting Help
6
6
 
7
7
  * Project Homepage: "http://yourmediashelf.com/activefedora":http://yourmediashelf.com/activefedora
8
- * Further documentation is available at "http://projects.mediashelf.us/projects/active-fedora":http://projects.mediashelf.us/projects/active-fedora
9
8
  * Community Discussions & Mailing List are located at "http://groups.google.com/group/active-fedora":http://groups.google.com/group/active-fedora
10
9
 
11
10
  h2. Installation
@@ -16,7 +15,7 @@ The gem is hosted on gemcutter.
16
15
 
17
16
  h2. Getting Started
18
17
 
19
- The "ActiveFedora Console Tour":https://github.com/mediashelf/active_fedora/blob/master/CONSOLE_GETTING_STARTED.textile gives you a brief tour through ActiveFedora's features on the command line.
18
+ The "ActiveFedora Console Tour":http://hudson.projecthydra.org/job/active_fedora/Documentation/file.CONSOLE_GETTING_STARTED.html gives you a brief tour through ActiveFedora's features on the command line.
20
19
 
21
20
  h2. Testing (this Gem)
22
21
 
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_dependency('solr-ruby', '>= 0.0.6')
19
19
  s.add_dependency('xml-simple', '>= 1.0.12')
20
20
  s.add_dependency('mime-types', '>= 1.16')
21
- s.add_dependency('multipart-post')
21
+ s.add_dependency('multipart-post', "1.1.2")
22
22
  s.add_dependency('nokogiri')
23
23
  s.add_dependency('om', '>= 1.0')
24
24
  s.add_dependency('solrizer', '>1.0.0')
@@ -27,12 +27,15 @@ Gem::Specification.new do |s|
27
27
  s.add_dependency("equivalent-xml")
28
28
  s.add_dependency("facets")
29
29
  s.add_development_dependency("yard")
30
- s.add_development_dependency("RedCloth")
30
+ s.add_development_dependency("RedCloth") # for RDoc formatting
31
+ s.add_development_dependency("rake")
31
32
  s.add_development_dependency("rcov")
32
- s.add_development_dependency("solrizer")
33
- s.add_development_dependency("solrizer-fedora")
33
+ s.add_development_dependency("solrizer-fedora") # used by the fixtures rake tasks
34
34
  s.add_development_dependency("jettywrapper")
35
-
35
+ s.add_development_dependency("rspec", "<2.0.0")
36
+ s.add_development_dependency("mocha", ">= 0.9.8")
37
+ s.add_development_dependency("ruby-debug")
38
+
36
39
  s.files = `git ls-files`.split("\n")
37
40
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
38
41
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -1,16 +1,7 @@
1
1
  development:
2
- fedora:
3
- url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
4
- solr:
5
- url: http://127.0.0.1:8983/solr/development
2
+ url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
6
3
  test:
7
- fedora:
8
- url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
9
- solr:
10
- url: http://127.0.0.1:8983/solr/test
4
+ url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
11
5
  production:
12
- fedora:
13
- url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8080/fedora
14
- solr:
15
- url: http://127.0.0.1:8080/solr
6
+ url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8080/fedora
16
7
 
@@ -1,4 +1,7 @@
1
1
  require 'rubygems'
2
+ require "bundler/setup"
3
+ Bundler.require(:default)
4
+
2
5
  gem 'solr-ruby'
3
6
  require "loggable"
4
7
 
@@ -32,64 +35,204 @@ module ActiveFedora #:nodoc:
32
35
  include Loggable
33
36
 
34
37
  class << self
35
- attr_accessor :solr_config, :fedora_config, :config_env
38
+ attr_accessor :solr_config, :fedora_config, :config_env, :fedora_config_path, :solr_config_path
39
+ attr_reader :config_options
36
40
  end
37
41
 
38
42
  # The configuration hash that gets used by RSolr.connect
39
43
  @solr_config ||= {}
40
44
  @fedora_config ||= {}
41
45
 
42
- # Initializes ActiveFedora's connection to Fedora and Solr based on the info in fedora.yml
46
+ # Initializes ActiveFedora's connection to Fedora and Solr based on the info in fedora.yml and solr.yml
47
+ # NOTE: this deprecates the use of a solr url in the fedora.yml
48
+ #
49
+ #
43
50
  # If Rails.env is set, it will use that environment. Defaults to "development".
44
- # @param [String] config_path (optional) the path to fedora.yml
45
- # If config_path is not provided and Rails.root is set, it will look in RAILS_ENV/config/fedora.yml. Otherwise, it will look in your config/fedora.yml. Failing that, it will use localhost urls.
46
- def self.init( config_path=nil )
47
-
48
- if defined?(Rails.env)
49
- @config_env = Rails.env
50
- elsif defined?(ENV['environment'])
51
- @config_env = ENV['environment']
52
- else
53
- @config_env = 'development'
54
- logger.warn("No environment setting found: Using the default development environment.")
51
+ # @param [Hash] options (optional) a list of options for the configuration of active_fedora
52
+ # @option options [String] :environment The environment within which to run
53
+ # @option options [String] :fedora_config_path The full path to the fedora.yml config file.
54
+ # @option options [String] :solr_config_path The full path to the solr.yml config file.
55
+ #
56
+ # If :environment is not set, order of preference is
57
+ # 1. Rails.env
58
+ # 2. ENV['environment']
59
+ # 3. RAILS_ENV
60
+ #
61
+ # If :fedora_config_path is not set, it will look in
62
+ # 1. +Rails.root+/config
63
+ # 2. +current working directory+/config
64
+ # 3. (default) the fedora.yml shipped with gem
65
+ #
66
+ # If :solr_config_path is not set, it will
67
+ # 1. look in config_options[:fedora_config_path]. If it finds a solr.yml there, it will use it.
68
+ # 2. If it does not find a solr.yml and the fedora.yml contains a solr url, it will raise an configuration error
69
+ # 3. If it does not find a solr.yml and the fedora.yml does not contain a solr url, it will look in: +Rails.root+/config, +current working directory+/config, then the solr.yml shipped with gem
70
+ def self.init( options={} )
71
+ logger.level = Logger::ERROR
72
+ # Make config_options into a Hash if nil is passed in as the value
73
+ options = {} if options.nil?
74
+
75
+ # For backwards compatibility, handle cases where config_path (a String) is passed in as the argument rather than a config_options hash
76
+ # In all other cases, set config_path to config_options[:config_path], which is ok if it's nil
77
+ if options.is_a? String
78
+ logger.warn "DEPRECATION WARNING: Calling ActiveFedora.init with a path as an argument is deprecated. Use ActiveFedora.init(:config_path=>#{options})"
79
+ @config_options = {:fedora_config_path=>options}
80
+ else
81
+ @config_options = options
55
82
  end
56
-
57
- if config_path.nil?
58
- if defined?(Rails.root)
59
- config_path = "#{Rails.root}/config/fedora.yml"
83
+
84
+ @config_env = environment
85
+ @fedora_config_path = get_config_path(:fedora)
86
+ load_config(:fedora)
87
+
88
+ @solr_config_path = get_config_path(:solr)
89
+ load_config(:solr)
90
+
91
+ register_fedora_and_solr
92
+
93
+ # Retrieve the valid path for the predicate mappings config file
94
+ @predicate_config_path = build_predicate_config_path(File.dirname(fedora_config_path))
95
+
96
+ end
97
+
98
+ def self.load_configs
99
+ load_config(:fedora)
100
+ load_config(:solr)
101
+ end
102
+
103
+ def self.load_config(config_type)
104
+ config_type = config_type.to_s
105
+ config_path = self.send("#{config_type}_config_path".to_sym)
106
+
107
+ logger.info("#{config_type.upcase}: loading ActiveFedora.#{config_type}_config from #{File.expand_path(config_path)}")
108
+ config = YAML::load(File.open(config_path))
109
+ raise "The #{@config_env.to_s} environment settings were not found in the #{config_type}.yml config. If you already have a #{config_type}.yml file defined, make sure it defines settings for the #{@config_env} environment" unless config[@config_env]
110
+
111
+ config[:url] = determine_url(config_type,config)
112
+
113
+ self.instance_variable_set("@#{config_type}_config", config)
114
+ config
115
+ end
116
+
117
+ # Determines and sets the fedora_config[:url] or solr_config[:url]
118
+ # @param [String] config_type Either 'fedora' or 'solr'
119
+ # @param [Hash] config The config hash
120
+ # @return [String] the solr or fedora url
121
+ def self.determine_url(config_type,config)
122
+ if config_type == "fedora"
123
+ # support old-style config
124
+ if config[environment].fetch("fedora",nil)
125
+ return config[environment]["fedora"]["url"] if config[environment].fetch("fedora",nil)
60
126
  else
61
- config_path = File.join("config","fedora.yml")
127
+ return config[environment]["url"]
62
128
  end
129
+ else
130
+ return get_solr_url(config[environment]) if config_type == "solr"
63
131
  end
132
+ end
64
133
 
65
- unless File.exist?(config_path)
66
- config_path = File.join(File.dirname(__FILE__), "..", "config", "fedora.yml")
67
- logger.info "Using the default fedora.yml that comes with active-fedora. If you want to override this, pass the path to fedora.yml as an argument to ActiveFedora.init or set Rails.root and put fedora.yml into \#{Rails.root}/config."
134
+ # Given the solr_config that's been loaded for this environment,
135
+ # determine which solr url to use
136
+ def self.get_solr_url(solr_config)
137
+ if @index_full_text == true && solr_config.has_key?('fulltext') && solr_config['fulltext'].has_key?('url')
138
+ return solr_config['fulltext']['url']
139
+ elsif solr_config.has_key?('default') && solr_config['default'].has_key?('url')
140
+ return solr_config['default']['url']
141
+ elsif solr_config.has_key?('url')
142
+ return solr_config['url']
143
+ elsif solr_config.has_key?(:url)
144
+ return solr_config[:url]
145
+ else
146
+ raise URI::InvalidURIError
68
147
  end
69
-
70
- logger.info("FEDORA: loading ActiveFedora config from #{File.expand_path(config_path)}")
71
- fedora_config = YAML::load(File.open(config_path))
72
- raise "The #{@config_env.to_s} environment settings were not found in the fedora.yml config. If you already have a fedora.yml file defined, make sure it defines settings for the #{@config_env} environment" unless fedora_config[@config_env]
73
-
74
- ActiveFedora.solr_config[:url] = fedora_config[@config_env]['solr']['url']
75
-
148
+ end
149
+
150
+ def self.register_fedora_and_solr
76
151
  # Register Solr
77
152
  logger.info("FEDORA: initializing ActiveFedora::SolrService with solr_config: #{ActiveFedora.solr_config.inspect}")
78
-
79
153
  ActiveFedora::SolrService.register(ActiveFedora.solr_config[:url])
80
154
  logger.info("FEDORA: initialized Solr with ActiveFedora.solr_config: #{ActiveFedora::SolrService.instance.inspect}")
81
155
 
82
- ActiveFedora.fedora_config[:url] = fedora_config[@config_env]['fedora']['url']
83
156
  logger.info("FEDORA: initializing Fedora with fedora_config: #{ActiveFedora.fedora_config.inspect}")
84
-
85
157
  Fedora::Repository.register(ActiveFedora.fedora_config[:url])
86
158
  logger.info("FEDORA: initialized Fedora as: #{Fedora::Repository.instance.inspect}")
87
159
 
88
- # Retrieve the valid path for the predicate mappings config file
89
- @predicate_config_path = build_predicate_config_path(File.dirname(config_path))
160
+ end
161
+
162
+ # Determine what environment we're running in. Order of preference is:
163
+ # 1. config_options[:environment]
164
+ # 2. Rails.env
165
+ # 3. ENV['environment']
166
+ # 4. ENV['RAILS_ENV']
167
+ # 5. raises an exception if none of these is set
168
+ # @return [String]
169
+ # @example
170
+ # ActiveFedora.init(:environment=>"test")
171
+ # ActiveFedora.environment => "test"
172
+ def self.environment
173
+ if config_options.fetch(:environment,nil)
174
+ return config_options[:environment]
175
+ elsif defined?(Rails.env) and !Rails.env.nil?
176
+ return Rails.env.to_s
177
+ elsif defined?(ENV['environment']) and !(ENV['environment'].nil?)
178
+ return ENV['environment']
179
+ elsif defined?(ENV['RAILS_ENV']) and !(ENV['RAILS_ENV'].nil?)
180
+ logger.warn("You're depending on RAILS_ENV for setting your environment. This is deprecated in Rails3. Please use ENV['environment'] for non-rails environment setting: 'rake foo:bar environment=test'")
181
+ ENV['environment'] = ENV['RAILS_ENV']
182
+ return ENV['environment']
183
+ else
184
+ raise "Can't determine what environment to run in!"
185
+ end
186
+ end
187
+
188
+ # Determine the fedora config file to use. Order of preference is:
189
+ # 1. Use the config_options[:config_path] if it exists
190
+ # 2. Look in +Rails.root+/config/fedora.yml
191
+ # 3. Look in +current working directory+/config/fedora.yml
192
+ # 4. Load the default config that ships with this gem
193
+ # @param [String] config_type Either ‘fedora’ or ‘solr’
194
+ # @return [String]
195
+ def self.get_config_path(config_type)
196
+ config_type = config_type.to_s
197
+ if (config_path = config_options.fetch("#{config_type}_config_path".to_sym,nil) )
198
+ raise ActiveFedoraConfigurationException unless File.file? config_path
199
+ return config_path
200
+ end
201
+
202
+ # if solr, attempt to use path where fedora.yml is first
203
+ if config_type == "solr" && (config_path = check_fedora_path_for_solr)
204
+ return config_path
205
+ elsif config_type == "solr" && fedora_config[environment].fetch("solr",nil)
206
+ logger.warn("DEPRECATION WARNING: You appear to be using a deprecated format for your fedora.yml file. The solr url should be stored in a separate solr.yml file in the same directory as the fedora.yml")
207
+ raise ActiveFedoraConfigurationException
208
+ end
90
209
 
210
+ if defined?(Rails.root)
211
+ config_path = "#{Rails.root}/config/#{config_type}.yml"
212
+ return config_path if File.file? config_path
213
+ end
214
+
215
+ if File.file? "#{Dir.getwd}/config/#{config_type}.yml"
216
+ return "#{Dir.getwd}/config/#{config_type}.yml"
217
+ end
218
+
219
+ # Last choice, check for the default config file
220
+ config_path = File.expand_path(File.join(File.dirname(__FILE__), "..", "config", "#{config_type}.yml"))
221
+ logger.warn "Using the default #{config_type}.yml that comes with active-fedora. If you want to override this, pass the path to #{config_type}.yml to ActiveFedora - ie. ActiveFedora.init(:#{config_type} => '/path/to/#{config_type}.yml) - or set Rails.root and put #{config_type}.yml into \#{Rails.root}/config."
222
+ return config_path if File.file? config_path
223
+ raise ActiveFedoraConfigurationException "Couldn't load #{config_type} config file!"
91
224
  end
92
225
 
226
+ # Checks the existing fedora_config_path to see if there is a solr.yml there
227
+ def self.check_fedora_path_for_solr
228
+ path = fedora_config_path.split('/')[0..-2].join('/') + "/solr.yml"
229
+ if File.file? path
230
+ return path
231
+ else
232
+ return nil
233
+ end
234
+ end
235
+
93
236
  def self.solr
94
237
  ActiveFedora::SolrService.instance
95
238
  end
@@ -130,22 +273,6 @@ module ActiveFedora #:nodoc:
130
273
 
131
274
  end
132
275
 
133
-
134
-
135
-
136
-
137
- # if ![].respond_to?(:count)
138
- # class Array
139
- # puts "active_fedora is Adding count method to Array"
140
- # def count(&action)
141
- # count = 0
142
- # self.each { |v| count = count + 1}
143
- # # self.each { |v| count = count + 1 if action.call(v) }
144
- # return count
145
- # end
146
- # end
147
- # end
148
-
149
276
  module ActiveFedora
150
277
  class ServerError < Fedora::ServerError; end # :nodoc:
151
278
  class ObjectNotFoundError < RuntimeError; end # :nodoc: