Module: Sufia::GenericFile::Querying::ClassMethods

Defined in:
app/models/concerns/sufia/generic_file/querying.rb

Instance Method Summary collapse

Instance Method Details

#build_date_query(start_datetime, end_datetime) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 15

def build_date_query(start_datetime, end_datetime)
  start_date_str =  start_datetime.utc.strftime(date_format)
  end_date_str = if end_datetime.blank?
                   "*"
                 else
                   end_datetime.utc.strftime(date_format)
                 end
  "system_create_dtsi:[#{start_date_str} TO #{end_date_str}]"
end

#date_formatObject



49
50
51
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 49

def date_format
  "%Y-%m-%dT%H:%M:%SZ"
end

#find_by_date_created(start_datetime, end_datetime = nil) ⇒ Object

query to find generic files created during the time range

Parameters:

  • start_datetime (DateTime)

    starting date time for range query

  • end_datetime (DateTime) (defaults to: nil)

    ending date time for range query



10
11
12
13
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 10

def find_by_date_created(start_datetime, end_datetime = nil)
  return [] if start_datetime.blank? # no date just return nothing
  where(build_date_query(start_datetime, end_datetime))
end

#urnify(digest_string) ⇒ Object



45
46
47
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 45

def urnify(digest_string)
  "urn:sha1:#{digest_string}"
end

#where_access_is(access_level) ⇒ Object



37
38
39
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 37

def where_access_is(access_level)
  where Solrizer.solr_name('read_access_group', :symbol) => access_level
end

#where_digest_is(digest_string) ⇒ Object



41
42
43
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 41

def where_digest_is(digest_string)
  where Solrizer.solr_name('digest', :symbol) => urnify(digest_string)
end

#where_privateObject



25
26
27
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 25

def where_private
  where_access_is 'private'
end

#where_publicObject



29
30
31
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 29

def where_public
  where_access_is 'public'
end

#where_registeredObject



33
34
35
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 33

def where_registered
  where_access_is 'registered'
end