Sha256: 7ae71195a7d865af118acae4d48fe7c49dfbbf19d03a8e8375217c848683740a
Contents?: true
Size: 889 Bytes
Versions: 4
Compression:
Stored size: 889 Bytes
Contents
# frozen_string_literal: true class Shoes # Backwards compatibility, kind of likely to be removed def self.inherited(base_class) base_class.send :include, URL # include is private, therefore send end module URL attr_accessor :app Shoes::App.subscribe_to_dsl_methods self def self.included(base_class) base_class.extend URLDefiner end def self.urls @urls ||= {} end end module URLDefiner def url(page, method) page = convert_page_to_regex(page) url_class = self Shoes::URL.urls[page] = proc do |app, arg| new_url_instance = url_class.new new_url_instance.app = app if arg new_url_instance.send(method, arg) else new_url_instance.send method end end end private def convert_page_to_regex(page) /^#{page}$/ end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
shoes-core-4.0.0.pre12 | lib/shoes/url.rb |
shoes-core-4.0.0.pre11 | lib/shoes/url.rb |
shoes-core-4.0.0.pre10 | lib/shoes/url.rb |
shoes-core-4.0.0.pre9 | lib/shoes/url.rb |