sponsored_logs 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +77 -0
- data/README.md +155 -1
- data/lib/sponsored_logs/advertisers.rb +165 -39
- data/lib/sponsored_logs/banner.rb +84 -0
- data/lib/sponsored_logs/color.rb +58 -0
- data/lib/sponsored_logs/configuration.rb +21 -2
- data/lib/sponsored_logs/env.rb +27 -8
- data/lib/sponsored_logs/report/app/helpers/sponsored_logs/reports_helper.rb +159 -42
- data/lib/sponsored_logs/report/app/views/sponsored_logs/reports/show.html.erb +143 -33
- data/lib/sponsored_logs/version.rb +1 -1
- data/lib/sponsored_logs.rb +26 -2
- metadata +10 -5
data/lib/sponsored_logs.rb
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
require "logger"
|
|
4
4
|
|
|
5
5
|
require_relative "sponsored_logs/version"
|
|
6
|
+
require_relative "sponsored_logs/color"
|
|
6
7
|
require_relative "sponsored_logs/advertisers"
|
|
8
|
+
require_relative "sponsored_logs/banner"
|
|
7
9
|
require_relative "sponsored_logs/ads_file"
|
|
8
10
|
require_relative "sponsored_logs/ledger/store/base"
|
|
9
11
|
require_relative "sponsored_logs/ledger/store/memory"
|
|
@@ -76,7 +78,11 @@ module SponsoredLogs
|
|
|
76
78
|
return if ad.nil?
|
|
77
79
|
|
|
78
80
|
ledger.record(ad)
|
|
79
|
-
line = Advertisers.render(
|
|
81
|
+
line = Advertisers.render(
|
|
82
|
+
ad, configuration.ad_prefix,
|
|
83
|
+
ascii_only: configuration.ascii_only,
|
|
84
|
+
color: Color.gild?(target, mode: configuration.color)
|
|
85
|
+
)
|
|
80
86
|
|
|
81
87
|
if target.is_a?(Logger)
|
|
82
88
|
# Raw << avoids re-triggering our own Logger#add patch (infinite loop).
|
|
@@ -120,7 +126,8 @@ module SponsoredLogs
|
|
|
120
126
|
spend: ledger.total_spend.round(2),
|
|
121
127
|
ads: grouped[:running],
|
|
122
128
|
upcoming: grouped[:upcoming],
|
|
123
|
-
finished: grouped[:finished]
|
|
129
|
+
finished: grouped[:finished],
|
|
130
|
+
advertisers: advertiser_rollup(grouped)
|
|
124
131
|
}
|
|
125
132
|
end
|
|
126
133
|
|
|
@@ -189,6 +196,7 @@ module SponsoredLogs
|
|
|
189
196
|
#
|
|
190
197
|
def report_row(text, meta, entry, status)
|
|
191
198
|
{
|
|
199
|
+
advertiser: meta[:advertiser] || Advertisers::DEFAULT_ADVERTISER,
|
|
192
200
|
text: text,
|
|
193
201
|
impressions: entry ? entry.impressions : 0,
|
|
194
202
|
cpm: entry ? entry.cpm : meta[:cpm].to_f,
|
|
@@ -200,6 +208,22 @@ module SponsoredLogs
|
|
|
200
208
|
}
|
|
201
209
|
end
|
|
202
210
|
|
|
211
|
+
# Roll every report row up to its advertiser: total impressions, spend, and
|
|
212
|
+
# ad count per advertiser account, sorted by spend descending.
|
|
213
|
+
#
|
|
214
|
+
def advertiser_rollup(grouped)
|
|
215
|
+
by_advertiser = grouped.values.flatten.group_by { |row| row[:advertiser] }
|
|
216
|
+
accounts = by_advertiser.map do |advertiser, ads|
|
|
217
|
+
{
|
|
218
|
+
advertiser: advertiser,
|
|
219
|
+
ads: ads.size,
|
|
220
|
+
impressions: ads.sum { |a| a[:impressions] },
|
|
221
|
+
spend: ads.sum { |a| a[:spend] }.round(2)
|
|
222
|
+
}
|
|
223
|
+
end
|
|
224
|
+
accounts.sort_by { |a| -a[:spend] }
|
|
225
|
+
end
|
|
226
|
+
|
|
203
227
|
def start_periodic_thread
|
|
204
228
|
stop_periodic_thread
|
|
205
229
|
@periodic_thread = Thread.new do
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sponsored_logs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kerri Miller
|
|
@@ -114,6 +114,7 @@ executables: []
|
|
|
114
114
|
extensions: []
|
|
115
115
|
extra_rdoc_files: []
|
|
116
116
|
files:
|
|
117
|
+
- CHANGELOG.md
|
|
117
118
|
- LICENSE.txt
|
|
118
119
|
- README.md
|
|
119
120
|
- lib/generators/sponsored_logs/install_generator.rb
|
|
@@ -121,6 +122,8 @@ files:
|
|
|
121
122
|
- lib/sponsored_logs.rb
|
|
122
123
|
- lib/sponsored_logs/ads_file.rb
|
|
123
124
|
- lib/sponsored_logs/advertisers.rb
|
|
125
|
+
- lib/sponsored_logs/banner.rb
|
|
126
|
+
- lib/sponsored_logs/color.rb
|
|
124
127
|
- lib/sponsored_logs/configuration.rb
|
|
125
128
|
- lib/sponsored_logs/engine.rb
|
|
126
129
|
- lib/sponsored_logs/env.rb
|
|
@@ -136,12 +139,14 @@ files:
|
|
|
136
139
|
- lib/sponsored_logs/report/app/views/sponsored_logs/reports/show.html.erb
|
|
137
140
|
- lib/sponsored_logs/report/config/routes.rb
|
|
138
141
|
- lib/sponsored_logs/version.rb
|
|
139
|
-
homepage: https://
|
|
142
|
+
homepage: https://monetizetheexhaust.dev
|
|
140
143
|
licenses:
|
|
141
144
|
- MIT
|
|
142
145
|
metadata:
|
|
143
|
-
|
|
144
|
-
|
|
146
|
+
homepage_uri: https://monetizetheexhaust.dev
|
|
147
|
+
source_code_uri: https://github.com/sponsoredlogs/sponsored_logs
|
|
148
|
+
bug_tracker_uri: https://github.com/sponsoredlogs/sponsored_logs/issues
|
|
149
|
+
changelog_uri: https://github.com/sponsoredlogs/sponsored_logs/blob/main/CHANGELOG.md
|
|
145
150
|
rubygems_mfa_required: 'true'
|
|
146
151
|
rdoc_options: []
|
|
147
152
|
require_paths:
|
|
@@ -150,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
150
155
|
requirements:
|
|
151
156
|
- - ">="
|
|
152
157
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: '3.
|
|
158
|
+
version: '3.2'
|
|
154
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
160
|
requirements:
|
|
156
161
|
- - ">="
|