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/version.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, PredicateMappingsNotFoundError, Property, QualifiedDublinCoreDatastream, Relationship, RelsExtDatastream, ServerError, SolrNotInitialized, SolrService, UnregisteredPredicateError

Constant Summary collapse

VERSION =
"2.2.3"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.fedora_configObject

Returns the value of attribute fedora_config.



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

def fedora_config
  @fedora_config
end

.solr_configObject

Returns the value of attribute solr_config.



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

def solr_config
  @solr_config
end

Class Method Details

.fedoraObject



87
88
89
# File 'lib/active_fedora.rb', line 87

def self.fedora
  Fedora::Repository.instance
end

.init(config_path = nil) ⇒ Object

Initializes ActiveFedora’s connection to Fedora and Solr based on the info in fedora.yml If RAILS_ENV is set, it will use that environment. Defaults to “development”.

Parameters:

  • config_path (String) (defaults to: nil)

    (optional) the path to fedora.yml 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.



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
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/active_fedora.rb', line 43

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("config","fedora.yml")
      unless File.exist?(config_path)
        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
  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}")    
  
  # Retrieve the valid path for the predicate mappings config file
  @predicate_config_path = build_predicate_config_path(File.dirname(config_path))

end

.loggerObject



91
92
93
# File 'lib/active_fedora.rb', line 91

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

.predicate_configObject



95
96
97
# File 'lib/active_fedora.rb', line 95

def self.predicate_config
  @predicate_config_path ||= build_predicate_config_path
end

.solrObject



83
84
85
# File 'lib/active_fedora.rb', line 83

def self.solr
  ActiveFedora::SolrService.instance
end

.versionObject



99
100
101
# File 'lib/active_fedora.rb', line 99

def self.version
  ActiveFedora::VERSION
end