class Object
Constants
- EMBEDDED_DATA_URL_PREFIX
- OPTIONAL_WHITESPACE
- PROP_DELIMETER
- WILDCARD
Public Instance Methods
application_asset(extension)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 60 def application_asset(extension) search_path = Rails.root.join('public', 'assets', "application*.#{extension}") file_path = Dir.glob(search_path).first File.read(file_path) if file_path end
application_css()
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 66 def application_css application_asset('css') end
application_js()
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 70 def application_js application_asset('js') end
asset_regex(asset)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 53 def asset_regex(asset) parts = asset.partition('.') name = parts.first extension = parts.second + parts.last regex_range(start: name, stop: extension) end
embedded_data_url?(url)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 49 def embedded_data_url?(url) url.start_with?(EMBEDDED_DATA_URL_PREFIX) end
get_css_property(selector, property)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 36 def get_css_property(selector, property) rules = get_css_rules(selector) return unless rules property_regex = regex_range(start: property, stop: PROP_DELIMETER) rules.match(property_regex).try(:[], 0) end
get_css_property_value(selector, property)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 43 def get_css_property_value(selector, property) property = get_css_property(selector, property) return unless property property.partition(/:/).last.chomp(PROP_DELIMETER).strip end
get_css_rules(selector)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 31 def get_css_rules(selector) selector_regexp = regex_range(leading: selector, start: '{', stop: '}') application_css.match(selector_regexp).try(:[], 0) end
precompile_assets!(embed:)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 12 def precompile_assets!(embed:) action = embed ? 'embed' : 'unembed' `rake assets:precompile:#{action}` end
regex_range(leading: '', start:, stop:)
click to toggle source
# File lib/embeddable_asset/test/embeddable_rake_task_examples.rb, line 17 def regex_range(leading: '', start:, stop:) escaped_leading = Regexp.quote(leading) escaped_start = Regexp.quote(start) escaped_stop = Regexp.quote(stop) raw_regex_range = "#{escaped_leading}"\ "#{OPTIONAL_WHITESPACE}"\ "#{escaped_start}"\ "#{WILDCARD}"\ "#{escaped_stop}" Regexp.new(raw_regex_range, Regexp::MULTILINE | Regexp::IGNORECASE) end