# -*- encoding : utf-8 -*- class Card; module Set; module Right; module Follow; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_email/set/right/follow.rb ~~~~~~~~~~~ include All::Permissions::Follow def option_cards Card::FollowOption.cards.compact end def options_rule_card Card.new :name=>'follow_options_card', :type_code=>:pointer, :content=>option_cards.map {|oc| "[[#{oc.title}]]" }.join("\n") end format :html do def default_follow_item_args args args[:condition] ||= Env.params[:condition] || '*always' end view :follow_item, :tags=>:unknown_ok do |args| if card.new_card? || !card.include_item?(args[:condition]) button_view = :add_follow_rule_button form_opts = {:add_item=>args[:condition]} else button_view = :delete_follow_rule_button form_opts = {:drop_item=>args[:condition]} end text = if (option_card = Card.fetch args[:condition]) option_card.description(card.rule_set) else card.rule_set.follow_label end link_target = if card.rule_set.tag.codename == 'self' card.rule_set_name.left else "#{card.rule_set_name}+by name" end wrap do card_form({:action=>:update, :name=>card.name, :success=>{:view=>:follow_item}}, :hidden=>{:condition=>args[:condition]}.merge(form_opts)) do output [ _optional_render(button_view, args), card_link( link_target, :text=>text) ] end end end def default_follow_status_args args args[:card_key] ||= card.set_prototype.key end view :follow_status do |args| # #{ link_to '×', '', 'aria-hidden'=>true, :class=>'close update-follow-link', 'data-dismiss'=>'modal', 'data-card_key'=>args[:card_key] } %{