Sha256: 104b5c385af42a18a55a548b2c1da7f11f640932d92eb0290a419bcf5414c470

Contents?: true

Size: 644 Bytes

Versions: 2

Compression:

Stored size: 644 Bytes

Contents

require "app_store/client"
require "app_store/helpers/plist"

# Implements basic operations for AppStore objects : initialization, plist parsing, ...
class AppStore::Base
  attr_reader :raw
  
  extend AppStore::Helper::Plist
  
  # Instanciate a new object.
  # <tt>attrs</tt> accepts:
  # * <tt>:plist</tt>: a plist object to be parsed
  def initialize(attrs = {})
    init_from_plist attrs.delete(:plist) if attrs[:plist]
    attrs.each { |key, value| instance_variable_set "@#{key}", value}
  end
  
  protected
  def init_from_plist(plist)
    custom_init_from_plist plist if respond_to?(:custom_init_from_plist)
    @raw = plist
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
app_store-0.1.2 lib/app_store/base.rb
app_store-0.1.0 lib/app_store/base.rb