Sha256: 9df620053c61c8760b50f1d5f372e8bb7a1983f55a8ca159103ce937fb986b47
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
# danica [![Code Climate](https://codeclimate.com/github/darthjee/danica/badges/gpa.svg)](https://codeclimate.com/github/darthjee/danica) [![Test Coverage](https://codeclimate.com/github/darthjee/danica/badges/coverage.svg)](https://codeclimate.com/github/darthjee/danica/coverage) A tool for math formulation on docs ## How to use Add the gem to your project or just install the gem ``` gem 'danica' ``` ```console bundle install danica ``` Now you can use in your project ```ruby class MyFunction < Danica::Function def to_f #implement to float method end def to_tex #implement to tex method end end ``` ### Sample ```ruby class Danica::Function class Spatial < Danica::Function attr_accessor :time, :acceleration, :initial_space, :initial_velocity delegate :to_tex, to: :sum private def sum @sum ||= Sum.new(variables: parcels) end def parcels [ initial_space, spatial_velocity, spatial_acceleration ] end def spatial_acceleration Division.new(numerator: Product.new(variables: [ acceleration, time_squared ]), denominator: 2) end def time_squared Power.new(base: time, exponent: 2) end end end fx = Danica::Function.new( time: :t, acceleration: 'a', initial_space: { name: :S0, latex: 'S_0', gnu: 'S0' }, initial_velocity: { name: :V0, latex: 'V_0', gnu: 'V0' } ) ``` ```ruby fx.to_tex ``` returns ```string S_0 + V_0 \cdot t + \frac{a \cdot t^2}{2} ``` ```ruby fx.to_gnu ``` returns ```string S0 + V0 * t + a * t**2/2 ```
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
danica-1.0.0 | README.md |