Sha256: 75a8172f37e2cba20c21afd5d36fd3bfe1b97e03ff2b0827a87c366fe915e058
Contents?: true
Size: 1.61 KB
Versions: 5
Compression:
Stored size: 1.61 KB
Contents
module Sufia module GenericFile module Querying extend ActiveSupport::Concern module ClassMethods # query to find generic files created during the time range # @param [DateTime] start_datetime starting date time for range query # @param [DateTime] end_datetime ending date time for range query 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 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 def where_private where_access_is 'private' end def where_public where_access_is 'public' end def where_registered where_access_is 'registered' end def where_access_is(access_level) where Solrizer.solr_name('read_access_group', :symbol) => access_level end def where_digest_is(digest_string) where Solrizer.solr_name('digest', :symbol) => urnify(digest_string) end def urnify(digest_string) "urn:sha1:#{digest_string}" end def date_format "%Y-%m-%dT%H:%M:%SZ" end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems