Class: Rupta

Inherits:
Object
  • Object
show all
Defined in:
lib/rupta.rb,
lib/rupta/factory.rb,
lib/rupta/yaml_loader.rb,
lib/rupta/uri_purifier.rb,
lib/rupta/uri_extractor.rb,
lib/rupta/uri_extract_processor/default.rb

Defined Under Namespace

Modules: UriExtractProcessor Classes: Factory, UriExtractor, UriPurifier, YamlLoader

Instance Method Summary collapse

Constructor Details

#initialize(uri_purifier, uri_extractor, yaml_loader) ⇒ Rupta

Returns a new instance of Rupta.



2
3
4
5
6
# File 'lib/rupta.rb', line 2

def initialize(uri_purifier, uri_extractor, yaml_loader)
  @uri_purifier = uri_purifier
  @uri_extractor = uri_extractor
  @yaml_loader = yaml_loader
end

Instance Method Details

#detect_with_file(yaml_path, uri, omittable_uri_components = [:query]) ⇒ Object Also known as: detect



17
18
19
# File 'lib/rupta.rb', line 17

def detect_with_file(yaml_path, uri, omittable_uri_components = [:query])
  self.detect_with_hash(@yaml_loader.load_file(yaml_path), uri, omittable_uri_components)
end

#detect_with_hash(routes, uri, omittable_uri_components = [:query]) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/rupta.rb', line 8

def detect_with_hash(routes, uri, omittable_uri_components = [:query])
  pure_uri = @uri_purifier.purify(uri, omittable_uri_components)
  routes.each do |route_name, uri_templates|
    uri_template, uri_parameters = @uri_extractor.extract(uri_templates, pure_uri)
    return [route_name, uri_template, uri_parameters] if uri_template
  end
  nil
end