Module: Sufia::GenericFile::Querying::ClassMethods
- Defined in:
- app/models/concerns/sufia/generic_file/querying.rb
Instance Method Summary collapse
- #build_date_query(start_datetime, end_datetime) ⇒ Object
- #date_format ⇒ Object
-
#find_by_date_created(start_datetime, end_datetime = nil) ⇒ Object
query to find generic files created during the time range.
- #urnify(digest_string) ⇒ Object
- #where_access_is(access_level) ⇒ Object
- #where_digest_is(digest_string) ⇒ Object
- #where_private ⇒ Object
- #where_public ⇒ Object
- #where_registered ⇒ Object
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_format ⇒ Object
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
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_private ⇒ Object
25 26 27 |
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 25 def where_private where_access_is 'private' end |
#where_public ⇒ Object
29 30 31 |
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 29 def where_public where_access_is 'public' end |
#where_registered ⇒ Object
33 34 35 |
# File 'app/models/concerns/sufia/generic_file/querying.rb', line 33 def where_registered where_access_is 'registered' end |