Module: ActiveFedora

Defined in:
lib/active_fedora.rb,
lib/active_fedora.rb,
lib/active_fedora/base.rb,
lib/active_fedora/model.rb,
lib/active_fedora/property.rb,
lib/active_fedora/datastream.rb,
lib/active_fedora/relationship.rb,
lib/active_fedora/solr_service.rb,
lib/active_fedora/content_model.rb,
lib/active_fedora/fedora_object.rb,
lib/active_fedora/semantic_node.rb,
lib/active_fedora/metadata_datastream.rb,
lib/active_fedora/rels_ext_datastream.rb,
lib/active_fedora/qualified_dublin_core_datastream.rb

Overview

if ![].respond_to?(:count)

class Array
  puts "active_fedora is Adding count method to Array"
    def count(&action)
      count = 0
       self.each { |v| count = count + 1}
#      self.each { |v| count = count + 1 if action.call(v) }
      return count
    end
end

end

Defined Under Namespace

Modules: FedoraObject, MetadataDatastreamHelper, Model, SemanticNode Classes: Base, ContentModel, Datastream, DatastreamConcurrencyException, MetadataDatastream, NokogiriDatastream, ObjectNotFoundError, Property, QualifiedDublinCoreDatastream, Relationship, RelsExtDatastream, ServerError, SolrNotInitialized, SolrService

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.fedora_configObject

Returns the value of attribute fedora_config.



31
32
33
# File 'lib/active_fedora.rb', line 31

def fedora_config
  @fedora_config
end

.solr_configObject

Returns the value of attribute solr_config.



31
32
33
# File 'lib/active_fedora.rb', line 31

def solr_config
  @solr_config
end

Class Method Details

.fedoraObject



76
77
78
# File 'lib/active_fedora.rb', line 76

def self.fedora
  Fedora::Repository.instance
end

.init(config_path = nil) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/active_fedora.rb', line 38

def self.init( config_path=nil )
  
  config_env = defined?(RAILS_ENV) ? RAILS_ENV : "development"
  
  if config_path.nil? 
    if defined?(RAILS_ROOT)
      config_path = "#{RAILS_ROOT}/config/fedora.yml"
    else
      config_path = File.join(File.dirname(__FILE__), "..", "config", "fedora.yml")
      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."
    end
  end
  
  logger.info("FEDORA: loading ActiveFedora config from #{File.expand_path(config_path)}")
  
  fedora_config = YAML::load(File.open(config_path))
  raise "The #{config_env} 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]
  
  ActiveFedora.solr_config[:url] = fedora_config[config_env]['solr']['url']
  
  # Register Solr
  logger.info("FEDORA: initializing ActiveFedora::SolrService with solr_config: #{ActiveFedora.solr_config.inspect}")
  
  ActiveFedora::SolrService.register(ActiveFedora.solr_config[:url])
  logger.info("FEDORA: initialized Solr with ActiveFedora.solr_config: #{ActiveFedora::SolrService.instance.inspect}")
      
  ActiveFedora.fedora_config[:url] = fedora_config[config_env]['fedora']['url']
  logger.info("FEDORA: initializing Fedora with fedora_config: #{ActiveFedora.fedora_config.inspect}")
  
  Fedora::Repository.register(ActiveFedora.fedora_config[:url])
  logger.info("FEDORA: initialized Fedora as: #{Fedora::Repository.instance.inspect}")    
  
end

.loggerObject



80
81
82
# File 'lib/active_fedora.rb', line 80

def self.logger      
  @logger ||= defined?(RAILS_DEFAULT_LOGGER) ? RAILS_DEFAULT_LOGGER : Logger.new(STDOUT)
end

.solrObject



72
73
74
# File 'lib/active_fedora.rb', line 72

def self.solr
  ActiveFedora::SolrService.instance
end