Sha256: b544c47ccf01ada8b924c1f97cbe4131f2a7a6841aba2b0ebbd371b600eb9f05

Contents?: true

Size: 912 Bytes

Versions: 14

Compression:

Stored size: 912 Bytes

Contents

module ZendeskAppsSupport

  class AppFile

    attr_reader :relative_path
    attr_reader :absolute_path

    def initialize(package, relative_path)
      @relative_path = relative_path
      @file = File.new(package.root.join(relative_path))
      @absolute_path = File.absolute_path @file.path
    end

    def read
      File.read @file.path
    end

    def =~(regex)
      @relative_path =~ regex
    end

    alias_method :to_s, :relative_path

    def method_missing(sym, *args, &block)
      if @file.respond_to?(sym)
        @file.call(sym, *args, &block)
      else
        super
      end
    end

    # Unless Ruby 1.9
    def respond_to?(sym, include_private = false)
      @file.respond_to?(sym, include_private) || super
    end

    # If Ruby 1.9
    def respond_to_missing?(sym, include_private = false)
      @file.send(:respond_to_missing?, sym, include_private) || super
    end

  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
zendesk_apps_support-1.17.0 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.16.2 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.16.1 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.16.0 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.15.0 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.14.4 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.14.3 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.14.2 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.14.1 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.14.0 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.13.3 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.13.2 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.13.1 lib/zendesk_apps_support/app_file.rb
zendesk_apps_support-1.13.0 lib/zendesk_apps_support/app_file.rb