Sha256: b11a09b8aa5254d7f65d9a0782ceb2e9898526268628a0158d3d98ec31746101
Contents?: true
Size: 974 Bytes
Versions: 10
Compression:
Stored size: 974 Bytes
Contents
module Neutral module VotingBuilder class Router include Neutral::Engine.routes.url_helpers def initialize(vote) @vote = vote end def [](element) send element end def positive if persisted? { path: vote_path(vote, value: 1), method: 'patch' } else { path: votes_path(vote: vote.main_attributes.merge(value: 1)), method: 'post' } end end def negative if persisted? { path: vote_path(vote, value: 0), method: 'patch' } else { path: votes_path(vote: vote.main_attributes.merge(value: 0)), method: 'post' } end end def remove raise "Remove path for non-existent vote cannot be obtained" unless persisted? { path: vote_path(vote), method: 'delete' } end private def vote @vote end def persisted? vote.persisted? end end end end
Version data entries
10 entries across 10 versions & 1 rubygems