Skip to content

Instantly share code, notes, and snippets.

View kiote's full-sized avatar
👋

Ёkaterina Krivich kiote

👋
View GitHub Profile
formatter = HtmlFormatter.new
g = Generator.new(formatter, 'title', 'my long and interesting text')
g.make_report
class Generator
def initialize(reporter, title, text)
@reporter = reporter
@title = title
@text = text
end
def make_report
@reporter.output_report(title, text)
end
class Formatter
def output_report(title, text)
raise 'Abstract method called'
end
end
class HtmlFormatter < Formatter
def output_report(title, text)
<<-EOF
<html>
class MyClass
def do_somth_with_class(class)
class.send(method.to_sym)
other_stuff
end
end
class MyClass
def do_somth_with_class
OtherClass.method
other_stuff
end
end
@kiote
kiote / mixin.rb
Created September 28, 2011 10:42
class HtmlReporter < SomthingElse
include Reporter
protected
# реализация методов для html-версии
def make_header
end
def make_body
@kiote
kiote / abstract_report.rb
Created September 28, 2011 10:36
abstract_report
class Report
def make_report(data)
make_header
make_body
make_footer
end
protected
# методы ничего не реализуют
@kiote
kiote / reporter.rb
Created September 28, 2011 10:31
html reporter2
class HtmlReporter
def make_report(data)
make_html_header
make_html_body
make_html_footer
end
end
class PdfReporter
def make_report(data)
@kiote
kiote / html_reporter.rb
Created September 28, 2011 10:20
html reporter
class HtmlReporter
def make_report(data)
make_html_header
make_html_body
make_html_footer
end
end
it "should get followers count" do
VCR.use_cassette('twi_followers_count') do
MyModel.followers_count(@user).should == 3
end
end