Module: Dugway

Defined in:
lib/dugway.rb,
lib/dugway/cli.rb,
lib/dugway/cart.rb,
lib/dugway/store.rb,
lib/dugway/theme.rb,
lib/dugway/logger.rb,
lib/dugway/request.rb,
lib/dugway/version.rb,
lib/dugway/template.rb,
lib/dugway/cli/build.rb,
lib/dugway/liquifier.rb,
lib/dugway/cli/create.rb,
lib/dugway/cli/server.rb,
lib/dugway/controller.rb,
lib/dugway/application.rb,
lib/dugway/cli/validate.rb,
lib/dugway/liquid/tags/get.rb,
lib/dugway/path_interpreter.rb,
lib/dugway/liquid/tags/paginate.rb,
lib/dugway/contact_form_validator.rb,
lib/dugway/liquid/drops/base_drop.rb,
lib/dugway/liquid/drops/cart_drop.rb,
lib/dugway/liquid/drops/page_drop.rb,
lib/dugway/liquid/drops/image_drop.rb,
lib/dugway/liquid/drops/pages_drop.rb,
lib/dugway/liquid/drops/theme_drop.rb,
lib/dugway/liquid/drops/artist_drop.rb,
lib/dugway/liquid/drops/account_drop.rb,
lib/dugway/liquid/drops/artists_drop.rb,
lib/dugway/liquid/drops/contact_drop.rb,
lib/dugway/liquid/drops/country_drop.rb,
lib/dugway/liquid/drops/product_drop.rb,
lib/dugway/liquid/drops/category_drop.rb,
lib/dugway/liquid/drops/currency_drop.rb,
lib/dugway/liquid/drops/features_drop.rb,
lib/dugway/liquid/drops/products_drop.rb,
lib/dugway/liquid/filters/url_filters.rb,
lib/dugway/liquid/drops/cart_item_drop.rb,
lib/dugway/liquid/filters/core_filters.rb,
lib/dugway/liquid/filters/font_filters.rb,
lib/dugway/liquid/filters/util_filters.rb,
lib/dugway/liquid/drops/categories_drop.rb,
lib/dugway/liquid/drops/option_group_drop.rb,
lib/dugway/liquid/drops/theme_images_drop.rb,
lib/dugway/liquid/drops/translations_drop.rb,
lib/dugway/liquid/drops/product_option_drop.rb,
lib/dugway/liquid/drops/shipping_option_drop.rb,
lib/dugway/liquid/filters/comparison_filters.rb,
lib/dugway/liquid/filters/default_pagination.rb,
lib/dugway/liquid/drops/related_products_drop.rb,
lib/dugway/liquid/drops/theme_image_sets_drop.rb,
lib/dugway/liquid/drops/option_group_value_drop.rb,
lib/dugway/liquid/filters/instant_checkout_filter.rb

Defined Under Namespace

Modules: Cli, Drops, Filters, Tags Classes: Application, Cart, ContactFormValidator, Controller, Item, Liquifier, Logger, PathInterpreter, Request, Store, Template, Theme

Constant Summary collapse

VERSION =
"1.2.0"

Class Method Summary collapse

Class Method Details

.application(options = {}) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/dugway.rb', line 61

def application(options={})
  @options = options

  BigCartel::CurrencyLocales.insert
  I18n.default_locale = 'en-US'
  I18n.locale = Dugway.store.locale

  Rack::Builder.app do
    use Rack::Session::Cookie, :secret => 'stopwarningmeaboutnothavingasecret'
    use BetterErrors::Middleware

    if options[:log]
      BetterErrors.logger = Dugway.logger
      use Rack::CommonLogger, Dugway.logger
    end

    run Application.new
  end
end

.cartObject



91
92
93
# File 'lib/dugway.rb', line 91

def cart
  @cart ||= Cart.new
end

.loggerObject



99
100
101
# File 'lib/dugway.rb', line 99

def logger
  @logger ||= Logger.new
end

.optionsObject



103
104
105
# File 'lib/dugway.rb', line 103

def options
  @options
end

.source_dirObject



95
96
97
# File 'lib/dugway.rb', line 95

def source_dir
  @source_dir ||= File.join(Dir.pwd, 'source')
end

.storeObject



81
82
83
84
85
# File 'lib/dugway.rb', line 81

def store
  store_options = options && options[:store] ? options[:store] : {}
  subdomain = store_options[:subdomain] || 'dugway'
  @store ||= Store.new(subdomain, store_options)
end

.themeObject



87
88
89
# File 'lib/dugway.rb', line 87

def theme
  @theme ||= Theme.new(options && options[:customization] || {})
end