Sha256: 94f18c22fe233e6235500f82d7393e90bf72e8aaeb49de8a874e28c2b81c1296

Contents?: true

Size: 836 Bytes

Versions: 17

Compression:

Stored size: 836 Bytes

Contents

module Writefully
  class Asset
    attr_reader :path, :endpoint

    def initialize(index)
      base_path = [Writefully.options[:content], index[:site], index[:resource], index[:slug]]
      @path = File.join(base_path, 'assets')
      @endpoint = File.join(index[:site], index[:resource], index[:slug], 'assets')
    end

    def names
      Dir.chdir(path) { Dir.glob('*') }
    end

    def regex
      ::Regexp.new('assets\/')
    end

    def url storage_endpoint
      File.join(storage_endpoint, endpoint, '/')
    end

    def convert_for content
      if content.is_a?(String)
        content.gsub(regex, url(Writefully::Storage.endpoint))
      elsif content.is_a?(Hash)
        content.inject({}) do |h, (k, v)| 
          h[k] = v.gsub(regex, url(Writefully::Storage.endpoint)); h 
        end 
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
writefully-0.8.2 lib/writefully/asset.rb
writefully-0.8.1 lib/writefully/asset.rb
writefully-0.8.0 lib/writefully/asset.rb
writefully-0.7.1 lib/writefully/asset.rb
writefully-0.6.12 lib/writefully/asset.rb
writefully-0.6.11 lib/writefully/asset.rb
writefully-0.6.10 lib/writefully/asset.rb
writefully-0.6.9 lib/writefully/asset.rb
writefully-0.6.7 lib/writefully/asset.rb
writefully-0.6.6 lib/writefully/asset.rb
writefully-0.6.5 lib/writefully/asset.rb
writefully-0.6.4 lib/writefully/asset.rb
writefully-0.6.3 lib/writefully/asset.rb
writefully-0.6.2 lib/writefully/asset.rb
writefully-0.5.1 lib/writefully/asset.rb
writefully-0.5.0 lib/writefully/asset.rb
writefully-0.4.10 lib/writefully/asset.rb