Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Invenscience

Invenscience aims to make maintaining and ordering a list of parts easy for all you electronic engineers out there.

Current Status

Still starting off and getting the backend working properly. In other words, views aren't being touched with a 10-foot pole just yet. Models and their respective specs are the sole receivers of our love for now.

Dependencies

  • merb
  • merb-helpers
  • merb-mailers
  • merb-param-protection
  • dm-aggregator
  • dm-timestamps
  • dm-types
  • dm-validations
  • mechanize

Models

Parsers

Parsers are the interface to parts providers, which in this context refer to online vendors. Their job is to crunch on HTML for breakfast and spit out useful information on items and orders.

They live inside app/parsers, and should be namespaced inside the Parser module. Eventually, Parser::Generic will provide a starting point for those wanting to write parsers of their own. We're not there yet, though.

Warehouses

Warehouses are the alter-egos to parts providers. In short, they represent a collection of items, and also serve as the gateway to parse websites (a Warehouse includes a Parser's methods).

New Warehouse

Setting a parser is easy and simple!

w = Warehouse.new
w.name = 'Sparkfun'
w.parser = Parser::Sparkfun
w.parse "http://www.sparkfun.com/commerce/product_info.php?products_id=9000" # => #<Item>

Existing Warehouse

But is not repeated excessively.

w = Warehouse.first(:name => 'Sparkfun')
w.parse "http://www.sparkfun.com/commerce/product_info.php?products_id=9000" # => #<Item>

Releases

Packages

Contributors

Languages