Class: Reportme::Report

Inherits:
Object show all
Defined in:
lib/reportme/report.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(report_factory, name, temporary = false) ⇒ Report

Returns a new instance of Report.



7
8
9
10
11
12
13
14
15
16
# File 'lib/reportme/report.rb', line 7

def initialize(report_factory, name, temporary=false)
  
  name = name.to_sym
  
  @report_factory = report_factory
  @name = name
  @depends_on = []
  @histories = []
  @temporary = temporary
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



4
5
6
# File 'lib/reportme/report.rb', line 4

def name
  @name
end

#setup_callbackObject

Returns the value of attribute setup_callback.



5
6
7
# File 'lib/reportme/report.rb', line 5

def setup_callback
  @setup_callback
end

Instance Method Details

#columns(table_name) ⇒ Object



71
# File 'lib/reportme/report.rb', line 71

def columns(table_name);  @report_factory.columns(table_name);  end

#dependenciesObject



39
40
41
# File 'lib/reportme/report.rb', line 39

def dependencies
  @depends_on
end

#depends_on(dependencies = []) ⇒ Object



34
35
36
37
# File 'lib/reportme/report.rb', line 34

def depends_on(dependencies=[])
  dependencies = dependencies.collect{|d| d.to_sym}
  @depends_on += dependencies
end

#exec(sql) ⇒ Object



66
# File 'lib/reportme/report.rb', line 66

def exec(sql);            @report_factory.exec(sql);            end

#historice?(history) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/reportme/report.rb', line 30

def historice?(history)
  @histories.include?(history)
end

#histories(histories = []) ⇒ Object



26
27
28
# File 'lib/reportme/report.rb', line 26

def histories(histories=[])
  @histories = histories
end

#select_all(sql) ⇒ Object



69
# File 'lib/reportme/report.rb', line 69

def select_all(sql);      @report_factory.select_all(sql);      end

#select_rows(sql) ⇒ Object



70
# File 'lib/reportme/report.rb', line 70

def select_rows(sql);     @report_factory.select_rows(sql);     end

#select_value(sql) ⇒ Object



67
# File 'lib/reportme/report.rb', line 67

def select_value(sql);    @report_factory.select_value(sql);    end

#select_values(sql) ⇒ Object



68
# File 'lib/reportme/report.rb', line 68

def select_values(sql);   @report_factory.select_values(sql);   end

#setup(&block) ⇒ Object



43
44
45
# File 'lib/reportme/report.rb', line 43

def setup(&block)
  @setup_callback = block
end

#source(&block) ⇒ Object



22
23
24
# File 'lib/reportme/report.rb', line 22

def source(&block)
  @source = block
end

#sql(von, bis, period_name) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/reportme/report.rb', line 47

def sql(von, bis, period_name)
  raw = @source.call(von, bis, period_name)
  
  <<-SQL
    select
      '#{von}' as von,
      rtmp1.*
    from (
      #{raw}
      ) rtmp1
  SQL
  
end

#table_name(period) ⇒ Object



61
62
63
64
# File 'lib/reportme/report.rb', line 61

def table_name(period)
  prefix = temporary? ? "tmp_" : ""
  "#{prefix}#{name}_#{period}"
end

#temporary?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/reportme/report.rb', line 18

def temporary?
  @temporary
end