RawgentoDB

Interact with a Magento MySQL database, using assumptions of a specific installation.

Installation

Add this line to your application's Gemfile:

gem 'rawgento_db'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rawgento_db

Configuration

Edit rawgento_db-config.yml to your needs.

host: 127.0.0.1
port: 3306
database: mydb
username: myuser
password: mysecret

The first 5 keys define access to the mysql (magento) database.

Usage

RawgentoDB defines the following methods:

  • RawgetoDB.settings: Reads the aforementioned config file and returns its values (a hash). The settings are needed for all the other operations.
  • RawgentoDB::Query.products: Returns an array of Struct(:product_id, '')s containing the product_id (unfortunately, name is not easily accessible atm).
  • RawgentoDB::Query.stock: Returns am array of Struct(:product_id, :qty)s containing current stock per product.
  • RawgentoDB::Query.understock(settings): Returns array of [product_id, qty, min_qty] for products with notify_min_stock smaller than current stock.
  • RawgentoDB::Query.sales_monthly(product_id, settings): Returns array of [period, qty_ordered] information for one product.
  • RawgentoDB::Query.sales_daily(product_id, settings): Returns array of [period, qty_ordered] information for one product.
  • RawgentoDB::Query.attribute_varchar(attribute_id, settings): Returns array of [product_id, attribute_value] varchar-attribute-value information for all products.
  • RawgentoDB::Query.attribute_option(attribute_id, settings): Returns array of [product_id, attribute_value] attribute-value of an option for all products.

All of these can optionally be called with a (second) parameter settings, which is the yaml parsed file. To initialize the settings, call RawgentoDB.settings filename.

Furthermore, some command line applications are provided to get a view on the Shop through the eyes of the rawgento_db gem:

  • rawgento_show_products: Shows a table of products.

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment. Run bundle exec rawgento_db to use the gem in this directory, ignoring other installed copies of this gem.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/rawgento_db. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.