lolita-report 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -2
- data/README.rdoc +8 -11
- data/VERSION +1 -1
- data/app/controllers/lolita/reports_controller.rb +6 -5
- data/app/reports/default_report.rb +90 -0
- data/app/views/lolita/reports/show.html.erb +4 -5
- data/lib/generators/lolita_report/assets_generator.rb +13 -0
- data/lib/generators/lolita_report/install_generator.rb +15 -0
- data/lib/lolita-report.rb +11 -10
- data/lib/lolita-report/configuration/report.rb +24 -108
- data/lib/lolita-report/rails.rb +1 -0
- data/lolita-report.gemspec +9 -9
- data/public/images/xls.png +0 -0
- metadata +26 -34
- data/app/views/components/lolita/configuration/report/_display.html.erb +0 -1
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,16 +1,13 @@
|
|
1
|
-
=
|
1
|
+
= Lolita Report
|
2
2
|
|
3
|
-
|
3
|
+
Lolita plugin that generate reports in HTML and allow to save in XLS
|
4
|
+
== Instaltion
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
* Start a feature/bugfix branch
|
11
|
-
* Commit and push until you are happy with your contribution
|
12
|
-
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
13
|
-
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
6
|
+
gem install lolita-report
|
7
|
+
=== First time instalation
|
8
|
+
rails g lolita-report:install
|
9
|
+
=== Copying assets
|
10
|
+
rails g lolita-report:assets
|
14
11
|
|
15
12
|
== Copyright
|
16
13
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
1
|
+
0.1.0
|
@@ -2,16 +2,17 @@ class Lolita::ReportsController < ApplicationController
|
|
2
2
|
include Lolita::Controllers::InternalHelpers
|
3
3
|
layout "lolita/application"
|
4
4
|
def show
|
5
|
-
report = self.resource_class.lolita.reports.by_name(params[:name])
|
6
|
-
report.generate_table_for_report
|
5
|
+
@report = self.resource_class.lolita.reports.by_name(params[:name])
|
7
6
|
respond_to do |format|
|
8
7
|
format.html{
|
9
|
-
@
|
8
|
+
@html=@report.report_controller.render_html(:report=>@report)
|
10
9
|
render
|
11
10
|
}
|
12
11
|
format.xls do |format|
|
13
|
-
xls
|
14
|
-
|
12
|
+
xls=@report.report_controller.render_xls(:report=>@report)
|
13
|
+
unless @report.file_base_name
|
14
|
+
send_data xls,:type=>:xls,:filename=>@report.file_name(:xls)
|
15
|
+
end
|
15
16
|
end
|
16
17
|
end
|
17
18
|
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
class DefaultReport < Ruport::Controller
|
2
|
+
required_option :report
|
3
|
+
stage :header,:body,:footer
|
4
|
+
finalize :report
|
5
|
+
|
6
|
+
def setup
|
7
|
+
self.data=Ruport::Table(
|
8
|
+
:column_names=>options.report.column_names.map{|n| n.to_s.humanize},
|
9
|
+
:data=>collect_data(options.report.column_names)
|
10
|
+
)
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
def collect_data(column_names)
|
15
|
+
options.report.klass.find(:all).map{|record|
|
16
|
+
column_names.map{|column_name|
|
17
|
+
record.send(column_name.to_sym)
|
18
|
+
}
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
formatter :html do
|
23
|
+
build :header do
|
24
|
+
output << "<div class='box list'><h1 class='black'> #{options.report.title}</h1>"
|
25
|
+
output << "<table><thead>"
|
26
|
+
data.column_names.each do |column_name|
|
27
|
+
output << "<th>#{column_name}</th>"
|
28
|
+
end
|
29
|
+
output << "</thead>"
|
30
|
+
end
|
31
|
+
|
32
|
+
build :body do
|
33
|
+
output << "<tbody>"
|
34
|
+
data.data.each{|row|
|
35
|
+
output << "<tr>#{row.inject(""){|result,f| result<<"<td>#{f}</td>"}}</tr>"
|
36
|
+
}
|
37
|
+
output << "</tbody>"
|
38
|
+
end
|
39
|
+
|
40
|
+
build :footer do
|
41
|
+
output << "</table>"
|
42
|
+
output << "</div>"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
class XLS < Ruport::Formatter
|
48
|
+
renders :xls, :for=>DefaultReport
|
49
|
+
|
50
|
+
def initialize
|
51
|
+
require "spreadsheet"
|
52
|
+
@book = Spreadsheet::Workbook.new
|
53
|
+
@sheet=@book.create_worksheet
|
54
|
+
end
|
55
|
+
|
56
|
+
def build_header
|
57
|
+
@sheet.name=options.report.title
|
58
|
+
@sheet.row(0).replace(options.report.column_names.map{|c| c.to_s.humanize})
|
59
|
+
@sheet.row(0).default_format=header_format()
|
60
|
+
0.upto(options.report.column_names.size-1) do |index|
|
61
|
+
@sheet.column(index).width=20
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def build_body
|
66
|
+
data.data.each_with_index do |row,index|
|
67
|
+
@sheet.row(index+1).replace(row.map{|c| c.to_s})
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def finalize_report
|
72
|
+
if options.report.save_in_file?
|
73
|
+
@book.write(options.report.file_name(:xls))
|
74
|
+
else
|
75
|
+
blob = StringIO.new("")
|
76
|
+
@book.write blob
|
77
|
+
output << blob.string
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
private
|
82
|
+
|
83
|
+
def header_format
|
84
|
+
Spreadsheet::Format.new(
|
85
|
+
:pattern_bg_color=>:grey,
|
86
|
+
:weight => :bold,
|
87
|
+
:size => 12
|
88
|
+
)
|
89
|
+
end
|
90
|
+
end
|
@@ -1,9 +1,8 @@
|
|
1
|
-
|
2
|
-
<%= render_component *@builder %>
|
1
|
+
<%= raw(@html) %>
|
3
2
|
|
4
|
-
|
3
|
+
<div>
|
5
4
|
<% Lolita::Configuration::Report.formats.each do |format| %>
|
6
|
-
<%= link_to
|
5
|
+
<%= link_to image_tag("xls.png"), send(lolita_resource_name(:action=>:reports,:plural=>true),:format=>format) %>
|
7
6
|
|
8
7
|
<% end %>
|
9
|
-
</div>
|
8
|
+
</div>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'generators/helpers/file_helper'
|
2
|
+
module LolitaReport
|
3
|
+
module Generators
|
4
|
+
class AssetsGenerator < Rails::Generators::Base
|
5
|
+
include Lolita::Generators::FileHelper
|
6
|
+
desc "Copy all from public directory to project public directory."
|
7
|
+
def copy_all
|
8
|
+
root=File.expand_path("../../../../",__FILE__)
|
9
|
+
copy_dir("public",:root=>root)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/lolita-report.rb
CHANGED
@@ -3,7 +3,6 @@ $:<<File.dirname(__FILE__) unless $:.include?(File.dirname(__FILE__))
|
|
3
3
|
require "lolita-report/configuration/base"
|
4
4
|
require "lolita-report/rails"
|
5
5
|
require "ruport"
|
6
|
-
require "spreadsheet"
|
7
6
|
module Lolita
|
8
7
|
module Report
|
9
8
|
|
@@ -17,15 +16,17 @@ end
|
|
17
16
|
require "lolita-report/module.rb"
|
18
17
|
|
19
18
|
Lolita::Navigation::Tree.after_branch_added do
|
20
|
-
|
21
|
-
if
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
}
|
28
|
-
|
19
|
+
self.branches.each do |branch|
|
20
|
+
if branch.object.is_a?(Lolita::Mapping) && branch.object.to.lolita.reports.any?
|
21
|
+
klass=branch.object.to
|
22
|
+
klass.lolita.reports.each do |report|
|
23
|
+
unless branch.children.branches.detect{|child_branch| child_branch.object==report}
|
24
|
+
branch.append(report,:title=>report.title,:url=>Proc.new{|view,branch|
|
25
|
+
|
26
|
+
options={:mapping=>branch.tree.parent.object,:action=>:reports,:plural=>true}
|
27
|
+
path_method=view.send(:lolita_resource_name,options)
|
28
|
+
view.send(path_method,:name=>branch.object.name)
|
29
|
+
})
|
29
30
|
end
|
30
31
|
end
|
31
32
|
end
|
@@ -3,135 +3,50 @@
|
|
3
3
|
module Lolita
|
4
4
|
module Configuration
|
5
5
|
class Report
|
6
|
-
include Lolita::Builder
|
7
|
-
|
8
|
-
lolita_accessor :title,:name,:total_columns, :table,:fields
|
6
|
+
#include Lolita::Builder
|
9
7
|
|
8
|
+
lolita_accessor :title,:name,:class_name,:file_base_name,:controller
|
9
|
+
attr_writer :column_names
|
10
|
+
|
10
11
|
def initialize(dbi,title=nil, &block)
|
11
12
|
|
12
13
|
@dbi=dbi
|
13
|
-
@
|
14
|
+
@column_names=[]
|
14
15
|
@title=title
|
15
16
|
self.instance_eval(&block) if block_given?
|
16
17
|
raise ArgumentError, "Report must have title" unless @title
|
17
18
|
set_default_values
|
18
19
|
end
|
19
|
-
|
20
|
-
# Set data for counting.
|
21
|
-
def total(*args)
|
22
|
-
@collumns_for_counting=args if args
|
23
|
-
@collumns_for_counting
|
24
|
-
end
|
25
|
-
# Return columns in array, which are needed counted.
|
26
|
-
def total_columns
|
27
|
-
@collumns_for_counting
|
28
|
-
end
|
29
|
-
|
30
|
-
# Set a title for report.
|
31
|
-
def name value=nil
|
32
|
-
@name=value if value
|
33
|
-
@name
|
34
|
-
end
|
35
20
|
|
36
|
-
def
|
37
|
-
@
|
21
|
+
def report_controller
|
22
|
+
@controller || ::DefaultReport
|
38
23
|
end
|
39
24
|
|
40
|
-
def
|
41
|
-
if args
|
42
|
-
@
|
43
|
-
args.each{|f| field(f)}
|
25
|
+
def column_names *args
|
26
|
+
if args && args.any?
|
27
|
+
@column_names=args
|
44
28
|
end
|
45
|
-
@
|
29
|
+
@column_names
|
46
30
|
end
|
47
31
|
|
48
|
-
def
|
49
|
-
|
32
|
+
def save_in_file?
|
33
|
+
!!@file_base_name
|
50
34
|
end
|
51
35
|
|
52
|
-
|
53
|
-
|
54
|
-
@fields if @fields
|
36
|
+
def file_name(ext)
|
37
|
+
"#{@file_base_name||"#{self.name}"}_#{Time.now.strftime("%Y%m%d%H%M%S")}.#{ext}"
|
55
38
|
end
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
add_collumns_for_counting if collumns_for_counting_defined?
|
61
|
-
self.collect_data
|
62
|
-
@table
|
63
|
-
end
|
64
|
-
|
65
|
-
# generate excel file with necessary data and formating
|
66
|
-
def to_xls response_type=:raw
|
67
|
-
book = Spreadsheet::Workbook.new
|
68
|
-
sheet1=book.create_worksheet
|
69
|
-
sheet1.name=self.title
|
70
|
-
sheet1.row(0).replace(@table[0].attributes.map(&:to_s))
|
71
|
-
1.upto(@table.size){|i|
|
72
|
-
sheet1.row(i).replace(@table[0].attributes.collect{|f| @table[i-1].data[f]})
|
73
|
-
}
|
74
|
-
table_header_format_for sheet1
|
75
|
-
set_columns_width_for sheet1
|
76
|
-
if response_type==:raw
|
77
|
-
blob = StringIO.new("")
|
78
|
-
book.write blob
|
79
|
-
blob.string
|
39
|
+
|
40
|
+
def klass
|
41
|
+
@klass||=if self.class_name
|
42
|
+
Lolita::DBI::Base.new(self.class_name.constantize)
|
80
43
|
else
|
81
|
-
|
44
|
+
@dbi
|
82
45
|
end
|
46
|
+
@klass
|
83
47
|
end
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
# set excel collumns width for sheet
|
88
|
-
def set_columns_width_for sheet
|
89
|
-
0.upto(@table[0].attributes.size-1){|i|
|
90
|
-
sheet.column(i).width=20
|
91
|
-
}
|
92
|
-
end
|
93
|
-
|
94
|
-
# make format for excel table header
|
95
|
-
def table_header_format_for sheet
|
96
|
-
title_format = Spreadsheet::Format.new :pattern_bg_color=>:grey,
|
97
|
-
:weight => :bold,
|
98
|
-
:size => 12
|
99
|
-
sheet.row(0).default_format =title_format
|
100
|
-
end
|
101
|
-
|
102
|
-
# Make table,which contain all necessary data for report.
|
103
|
-
def create_table
|
104
|
-
@table = Table @fields.map{|f| f.title}
|
105
|
-
end
|
106
|
-
|
107
|
-
# Set all necessary data into table.
|
108
|
-
def collect_data
|
109
|
-
field_names=@fields.map{|f| f.name}
|
110
|
-
@dbi.find(:all).each{|record|
|
111
|
-
@table<<field_names.map{|f_name|
|
112
|
-
record.send(f_name)
|
113
|
-
}
|
114
|
-
}
|
115
|
-
end
|
116
|
-
|
117
|
-
# Set necessary data in columns, where will bi counting something.
|
118
|
-
def set_data_in_counting_columns object
|
119
|
-
@collumns_for_counting.each{|method|
|
120
|
-
@hsh["#{method.to_s}_total"]=object.send(method).size
|
121
|
-
}
|
122
|
-
end
|
123
|
-
|
124
|
-
# Check if fields for counting are defined for report.
|
125
|
-
def collumns_for_counting_defined?
|
126
|
-
@collumns_for_counting.size>0 if @collumns_for_counting
|
127
|
-
end
|
128
|
-
|
129
|
-
# For setting data for cuonting, necessary to add this collumns to table.
|
130
|
-
def add_collumns_for_counting
|
131
|
-
@collumns_for_counting.each{|method|
|
132
|
-
@table.add_column("#{method.to_s}_total",:default=>0) if @table
|
133
|
-
}
|
134
|
-
end
|
48
|
+
|
49
|
+
private
|
135
50
|
|
136
51
|
def set_default_values
|
137
52
|
@name||="report_for_#{dbi.class.to_s}_#{self.__id__}"
|
@@ -142,6 +57,7 @@ module Lolita
|
|
142
57
|
[:xls]
|
143
58
|
end
|
144
59
|
end
|
60
|
+
|
145
61
|
end
|
146
62
|
end
|
147
63
|
end
|
data/lib/lolita-report/rails.rb
CHANGED
data/lolita-report.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{lolita-report}
|
8
|
-
s.version = "0.0
|
8
|
+
s.version = "0.1.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["ITHouse (Latvia)", "Arturs Meisters", "Artjoms Tjangins"]
|
12
|
-
s.date = %q{2011-04-
|
12
|
+
s.date = %q{2011-04-19}
|
13
13
|
s.description = %q{Enable configuration and generate HTML view for Lolita resources, and also has ability to export to different formats.}
|
14
14
|
s.email = %q{support@ithouse.lv}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"app/controllers/lolita/reports_controller.rb",
|
27
|
-
"app/
|
27
|
+
"app/reports/default_report.rb",
|
28
28
|
"app/views/lolita/reports/show.html.erb",
|
29
29
|
"author",
|
30
30
|
"doc/ActiveSupport.html",
|
@@ -78,6 +78,8 @@ Gem::Specification.new do |s|
|
|
78
78
|
"doc/spec/factories/factories_rb.html",
|
79
79
|
"doc/spec/orm/mongoid_rb.html",
|
80
80
|
"doc/spec/spec_helper_rb.html",
|
81
|
+
"lib/generators/lolita_report/assets_generator.rb",
|
82
|
+
"lib/generators/lolita_report/install_generator.rb",
|
81
83
|
"lib/lolita-report.rb",
|
82
84
|
"lib/lolita-report/configuration/base.rb",
|
83
85
|
"lib/lolita-report/configuration/report.rb",
|
@@ -86,6 +88,7 @@ Gem::Specification.new do |s|
|
|
86
88
|
"lib/lolita-report/rails.rb",
|
87
89
|
"lib/lolita-report/routes.rb",
|
88
90
|
"lolita-report.gemspec",
|
91
|
+
"public/images/xls.png",
|
89
92
|
"spec/configuration/report_spec.rb",
|
90
93
|
"spec/configuration/reports_spec.rb",
|
91
94
|
"spec/factories/factories.rb",
|
@@ -109,9 +112,8 @@ Gem::Specification.new do |s|
|
|
109
112
|
s.specification_version = 3
|
110
113
|
|
111
114
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
112
|
-
s.add_runtime_dependency(%q<
|
115
|
+
s.add_runtime_dependency(%q<lolita>, ["~> 3.1.4"])
|
113
116
|
s.add_runtime_dependency(%q<ruport>, [">= 0"])
|
114
|
-
s.add_runtime_dependency(%q<lolita>, ["~> 3.1.0"])
|
115
117
|
s.add_runtime_dependency(%q<spreadsheet>, [">= 0"])
|
116
118
|
s.add_development_dependency(%q<factory_girl_rails>, [">= 0"])
|
117
119
|
s.add_development_dependency(%q<cover_me>, [">= 1.0.0.rc6"])
|
@@ -121,9 +123,8 @@ Gem::Specification.new do |s|
|
|
121
123
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
122
124
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
123
125
|
else
|
124
|
-
s.add_dependency(%q<
|
126
|
+
s.add_dependency(%q<lolita>, ["~> 3.1.4"])
|
125
127
|
s.add_dependency(%q<ruport>, [">= 0"])
|
126
|
-
s.add_dependency(%q<lolita>, ["~> 3.1.0"])
|
127
128
|
s.add_dependency(%q<spreadsheet>, [">= 0"])
|
128
129
|
s.add_dependency(%q<factory_girl_rails>, [">= 0"])
|
129
130
|
s.add_dependency(%q<cover_me>, [">= 1.0.0.rc6"])
|
@@ -134,9 +135,8 @@ Gem::Specification.new do |s|
|
|
134
135
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
135
136
|
end
|
136
137
|
else
|
137
|
-
s.add_dependency(%q<
|
138
|
+
s.add_dependency(%q<lolita>, ["~> 3.1.4"])
|
138
139
|
s.add_dependency(%q<ruport>, [">= 0"])
|
139
|
-
s.add_dependency(%q<lolita>, ["~> 3.1.0"])
|
140
140
|
s.add_dependency(%q<spreadsheet>, [">= 0"])
|
141
141
|
s.add_dependency(%q<factory_girl_rails>, [">= 0"])
|
142
142
|
s.add_dependency(%q<cover_me>, [">= 1.0.0.rc6"])
|
Binary file
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: lolita-report
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0
|
5
|
+
version: 0.1.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- ITHouse (Latvia)
|
@@ -12,17 +12,17 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2011-04-
|
15
|
+
date: 2011-04-19 00:00:00 +03:00
|
16
16
|
default_executable:
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
|
-
name:
|
19
|
+
name: lolita
|
20
20
|
requirement: &id001 !ruby/object:Gem::Requirement
|
21
21
|
none: false
|
22
22
|
requirements:
|
23
|
-
- -
|
23
|
+
- - ~>
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version:
|
25
|
+
version: 3.1.4
|
26
26
|
type: :runtime
|
27
27
|
prerelease: false
|
28
28
|
version_requirements: *id001
|
@@ -37,20 +37,9 @@ dependencies:
|
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: *id002
|
40
|
-
- !ruby/object:Gem::Dependency
|
41
|
-
name: lolita
|
42
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
|
-
requirements:
|
45
|
-
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.1.0
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: *id003
|
51
40
|
- !ruby/object:Gem::Dependency
|
52
41
|
name: spreadsheet
|
53
|
-
requirement: &
|
42
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
54
43
|
none: false
|
55
44
|
requirements:
|
56
45
|
- - ">="
|
@@ -58,10 +47,10 @@ dependencies:
|
|
58
47
|
version: "0"
|
59
48
|
type: :runtime
|
60
49
|
prerelease: false
|
61
|
-
version_requirements: *
|
50
|
+
version_requirements: *id003
|
62
51
|
- !ruby/object:Gem::Dependency
|
63
52
|
name: factory_girl_rails
|
64
|
-
requirement: &
|
53
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
65
54
|
none: false
|
66
55
|
requirements:
|
67
56
|
- - ">="
|
@@ -69,10 +58,10 @@ dependencies:
|
|
69
58
|
version: "0"
|
70
59
|
type: :development
|
71
60
|
prerelease: false
|
72
|
-
version_requirements: *
|
61
|
+
version_requirements: *id004
|
73
62
|
- !ruby/object:Gem::Dependency
|
74
63
|
name: cover_me
|
75
|
-
requirement: &
|
64
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
76
65
|
none: false
|
77
66
|
requirements:
|
78
67
|
- - ">="
|
@@ -80,10 +69,10 @@ dependencies:
|
|
80
69
|
version: 1.0.0.rc6
|
81
70
|
type: :development
|
82
71
|
prerelease: false
|
83
|
-
version_requirements: *
|
72
|
+
version_requirements: *id005
|
84
73
|
- !ruby/object:Gem::Dependency
|
85
74
|
name: mongoid
|
86
|
-
requirement: &
|
75
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
87
76
|
none: false
|
88
77
|
requirements:
|
89
78
|
- - ~>
|
@@ -91,10 +80,10 @@ dependencies:
|
|
91
80
|
version: 2.0.0.beta
|
92
81
|
type: :development
|
93
82
|
prerelease: false
|
94
|
-
version_requirements: *
|
83
|
+
version_requirements: *id006
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: bson_ext
|
97
|
-
requirement: &
|
86
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
98
87
|
none: false
|
99
88
|
requirements:
|
100
89
|
- - ">="
|
@@ -102,10 +91,10 @@ dependencies:
|
|
102
91
|
version: 1.0.9
|
103
92
|
type: :development
|
104
93
|
prerelease: false
|
105
|
-
version_requirements: *
|
94
|
+
version_requirements: *id007
|
106
95
|
- !ruby/object:Gem::Dependency
|
107
96
|
name: ruby-debug19
|
108
|
-
requirement: &
|
97
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
109
98
|
none: false
|
110
99
|
requirements:
|
111
100
|
- - ">="
|
@@ -113,10 +102,10 @@ dependencies:
|
|
113
102
|
version: "0"
|
114
103
|
type: :development
|
115
104
|
prerelease: false
|
116
|
-
version_requirements: *
|
105
|
+
version_requirements: *id008
|
117
106
|
- !ruby/object:Gem::Dependency
|
118
107
|
name: bundler
|
119
|
-
requirement: &
|
108
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
120
109
|
none: false
|
121
110
|
requirements:
|
122
111
|
- - ~>
|
@@ -124,10 +113,10 @@ dependencies:
|
|
124
113
|
version: 1.0.0
|
125
114
|
type: :development
|
126
115
|
prerelease: false
|
127
|
-
version_requirements: *
|
116
|
+
version_requirements: *id009
|
128
117
|
- !ruby/object:Gem::Dependency
|
129
118
|
name: jeweler
|
130
|
-
requirement: &
|
119
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
131
120
|
none: false
|
132
121
|
requirements:
|
133
122
|
- - ~>
|
@@ -135,7 +124,7 @@ dependencies:
|
|
135
124
|
version: 1.5.2
|
136
125
|
type: :development
|
137
126
|
prerelease: false
|
138
|
-
version_requirements: *
|
127
|
+
version_requirements: *id010
|
139
128
|
description: Enable configuration and generate HTML view for Lolita resources, and also has ability to export to different formats.
|
140
129
|
email: support@ithouse.lv
|
141
130
|
executables: []
|
@@ -153,7 +142,7 @@ files:
|
|
153
142
|
- Rakefile
|
154
143
|
- VERSION
|
155
144
|
- app/controllers/lolita/reports_controller.rb
|
156
|
-
- app/
|
145
|
+
- app/reports/default_report.rb
|
157
146
|
- app/views/lolita/reports/show.html.erb
|
158
147
|
- author
|
159
148
|
- doc/ActiveSupport.html
|
@@ -207,6 +196,8 @@ files:
|
|
207
196
|
- doc/spec/factories/factories_rb.html
|
208
197
|
- doc/spec/orm/mongoid_rb.html
|
209
198
|
- doc/spec/spec_helper_rb.html
|
199
|
+
- lib/generators/lolita_report/assets_generator.rb
|
200
|
+
- lib/generators/lolita_report/install_generator.rb
|
210
201
|
- lib/lolita-report.rb
|
211
202
|
- lib/lolita-report/configuration/base.rb
|
212
203
|
- lib/lolita-report/configuration/report.rb
|
@@ -215,6 +206,7 @@ files:
|
|
215
206
|
- lib/lolita-report/rails.rb
|
216
207
|
- lib/lolita-report/routes.rb
|
217
208
|
- lolita-report.gemspec
|
209
|
+
- public/images/xls.png
|
218
210
|
- spec/configuration/report_spec.rb
|
219
211
|
- spec/configuration/reports_spec.rb
|
220
212
|
- spec/factories/factories.rb
|
@@ -234,7 +226,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
234
226
|
requirements:
|
235
227
|
- - ">="
|
236
228
|
- !ruby/object:Gem::Version
|
237
|
-
hash:
|
229
|
+
hash: 1017491887
|
238
230
|
segments:
|
239
231
|
- 0
|
240
232
|
version: "0"
|
@@ -1 +0,0 @@
|
|
1
|
-
<%=raw report.table.to_html%>
|