class Plasticine::Helpers::PlasticineTagHelper

Attributes

rails_helpers[R]

Public Class Methods

new(rails_helpers, id, from, to, step) click to toggle source
# File lib/plasticine/helpers.rb, line 22
def initialize(rails_helpers, id, from, to, step)
  @rails_helpers = rails_helpers
  @id = id
  @from = from
  @to = to
  @step = step || 'month'
end

Public Instance Methods

column(options={}) click to toggle source
# File lib/plasticine/helpers.rb, line 30
def column(options={})
  options.reverse_merge! columns_left_padding: 20, columns_right_padding: 20, columns_margin: 0.2, y_spacing_ratio: 1.10

  options[:data] = {
    columns_left_padding: options.delete(:columns_left_padding),
    columns_right_padding: options.delete(:columns_right_padding),
    columns_margin: options.delete(:columns_margin),
    y_spacing_ratio: options.delete(:y_spacing_ratio)
  }

  visual 'column', options
end
line(options={}) click to toggle source
# File lib/plasticine/helpers.rb, line 43
def line(options={})
  options.reverse_merge! lines_left_padding: 20, lines_right_padding: 20, lines_top_padding: 50, lines_margin: 1, y_spacing_ratio: 1.10

  options[:data] = {
    lines_left_padding: options.delete(:lines_left_padding),
    lines_right_padding: options.delete(:lines_right_padding),
    lines_top_padding: options.delete(:lines_top_padding),
    lines_margin: options.delete(:lines_margin),
    y_spacing_ratio: options.delete(:y_spacing_ratio)
  }

  visual 'line', options
end

Private Instance Methods

build_url(nature, options={}) click to toggle source
# File lib/plasticine/helpers.rb, line 60
def build_url(nature, options={})
  params = { from: @from, format: 'json', id: @id, nature: nature, nonce: SecureRandom.hex(20), step: @step, timestamp: Time.now.utc.iso8601, to: @to, version: 'v1' }

  options.each { |k,v| params[k] = v if not ['class', 'data', 'tools'].include? k.to_s }

  params[:token] = build_url_token(params)

  @url = plasticine_url(params)
end
build_url_token(params) click to toggle source
# File lib/plasticine/helpers.rb, line 70
def build_url_token(params)
  base_url = plasticine_url(id: params[:id])
  authentificator = Plasticine::Authentication.new(base_url, params)
  authentificator.tokenize
end
t(path) click to toggle source
# File lib/plasticine/helpers.rb, line 76
def t(path)
  Plasticine.translate(path)
end
visual(nature, options={}) click to toggle source
# File lib/plasticine/helpers.rb, line 80
def visual(nature, options={})
  options.reverse_merge! class: "", data: {}

  options[:class] += " plasticine plasticine-#{nature}"

  build_url nature, options

  options[:data][:visual] = nature
  options[:data][:url] = @url
  options[:data][:update_delay] = options[:update_every].to_i if options[:update_every]

  content = content_tag(:div, '', id: @id, class: options[:class], data: options[:data])
  content << link_to(@url, @url)

  content
end