New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

momm

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

momm

  • 2.0.1
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Momm

Build Status

Money on My Mind - A pure Ruby gem for currency exchange.

                   __  __                                        __  __
                  |  \/  |                                      |  \/  |
                  | \  / | ___  _ __   ___ _   _    ___  _ __   | \  / |_   _
                  | |\/| |/ _ \| '_ \ / _ \ | | |  / _ \| '_ \  | |\/| | | | |
                  | |  | | (_) | | | |  __/ |_| | | (_) | | | | | |  | | |_| |
                  |_|  |_|\___/|_| |_|\___|\__, |  \___/|_| |_| |_|  |_|\__, |
                                            __/ |                        __/ |
                                           |___/                        |___/
                                       __  __ _           _
                                      |  \/  (_)         | |
                                      | \  / |_ _ __   __| |
                                      | |\/| | | '_ \ / _` |
                                      | |  | | | | | | (_| |
                                      |_|  |_|_|_| |_|\__,_|


                            Keep calm bro. We'll calculate rate for you.

Requirement

Ensure that either Memcached or Redis is installed on the machines/servers for exchange rate store

Installation

Add this line to your application's Gemfile:

gem 'momm'

And then execute:

$ bundle

Or install it yourself as:

$ gem install momm

Usage

Off Rails

Command Line Tool

After the gem is installed, momm provide you a command line tool. The storage engine by default is Memcached. Make sure that its running in the background. Also make sure that you got the dalli gem installed

  $ momm rate GBP CNY                  # Exchange rate by default is today.
  $ momm exchange 100 GBP USD 2014-3-1 # Exchange rate at 2013-3-1
  $ momm update                        # Fetch feeds from remote and update the storage
Ruby
  require 'dalli' # Make sure that dalli is required before momm
  require 'momm'

  Momm.exchange_rate 'GBP', 'USD' # By default Today
  Momm.exchange_rate 'GBP', 'USD', date: Date.today

  Momm.exchange 100, 'GBP', 'USD'
  Momm.exchange 100, 'GBP', 'USD', date: Date.today
  Momm.exchange_from_gbp_to_usd 100

  Momm.update! # Fetching the feeds from remote. Only do that if you find any abnormal.
Configuration
  Momm.store :redis_store # Use redis as the default storage. Ensure 'redis' & 'redis-namespace is installed'

  Momm.fed :ECB # Use ECB as the default currency exchange feeds

  # Favoured way of configuration
  Momm.setup do
    store :redis_store, host: "127.0.0.1", namespace: "green_tea"
  end

Momm on Rails

Web service is provided by Momm on Rails, however you need to install sinatra simply by adding gem 'sinatra' into your Gemfile. Then require momm/web module and edit your routes like:

  # routes.rb
  require 'dalli'
  require 'momm/web'

  Myapp::Application.routes.draw do
    mount Momm::Web => '/momm'
  end

If you want to switch to Redis, you can create an initialzer like:

  # Gemfile
  gem 'redis'
  gem 'redis-namespace'

  # momm_initialzer.rb

  Momm.setup do
    store :redis_store, host: "127.0.0.1", namespace: "green_tea"
  end

After boot your rails application, you can visit '/momm'. A mounted app has already been in place.

Small widget(You can insert it anywhere in your HTML files)

After mounted the engine to Rails, without configuration, you can simply copy & paste the widget code to your HTML files.

echo '//= require money-on-my-mind' >> app/assets/javascripts/application.js to insert home made js to your assets.

No stylesheets included, so it might look sucks a bit. Feel free to add your own css.

Widget of SLIM template looks like below. Currenly only safe for work for Rails templates.

  .momm data-url="/momm/query"
    p
      | Date:
      input.mom-ele.momm-date type="text" /
    p
      | How much:
      input.mom-ele.momm-money type="text" value="1" /
    p
      | From:
      select.mom-ele.momm-from
        = options_for_select(Momm.currencies)
    p
      | To:
      select.mom-ele.momm-to
        = options_for_select(Momm.currencies)
    p
      | Exchange:
      span.momm-exchange

Hate Rails? How about a Rack app? (Sigh)

  # config.ru
  require 'dalli' # again make sure that dalli is required beforehand!!!
  require 'momm/web'
  run Momm::Web

Just rack it up!

How to Test

  $ rake rspec

Contributing

  1. Fork it ( https://github.com/jaxi/momm/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

FAQs

Package last updated on 24 Mar 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc