lib/yandex-metrika/counter.rb in yandex-metrika-rails-0.0.1 vs lib/yandex-metrika/counter.rb in yandex-metrika-rails-0.1.1

- old
+ new

@@ -7,17 +7,18 @@ autoload :Kind, 'yandex-metrika/counter/kind' autoload :Renderer, 'yandex-metrika/counter/renderer' autoload :TemplateOptions, 'yandex-metrika/counter/template_options' def initialize(args = {}) - @counter_types ||= [] + @options_types ||= [] prepare_view_options(args) append_counter_types(args) - @options_renderer = YandexMetrika::Counter::Renderer.new(@counter_types) + @options_renderer = YandexMetrika::Counter::Renderer.new(@options_types) end def to_s + return if YM.invalid_counter? template_name = @async ? "async" : "sync" @template ||= ::ERB.new ::File.read ::File.expand_path("../templates/#{template_name}.erb", __FILE__) @template.result(template_options.instance_eval { binding }).html_safe end alias_method :render, :to_s @@ -31,16 +32,19 @@ }) end def prepare_view_options(args) @local = args.delete(:local) || false - @async = args.delete(:async) || true + @async = true + @async = args.delete(:async) if args.include? :async @noscript = args.delete(:noscript) || true end def append_counter_types(args = {}) + args = YM.options.merge(args) + @options_types << Kind.new(:id, YM.counter) args.each do |k,v| - @counter_types << Kind.new(k,v) + @options_types << Kind.new(k,v) end end end end