delogger 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +149 -44
- data/lib/delogger.rb +1 -2
- data/lib/delogger/rails.rb +2 -1
- data/lib/delogger/rails/engine.rb +1 -1
- data/lib/delogger/rails/version.rb +5 -0
- data/vendor/assets/javascripts/delogger.js +1 -1
- data/vendor/assets/stylesheets/delogger.css +24 -37
- data/vendor/cache/coffee-script-2.4.1.gem +0 -0
- data/vendor/cache/coffee-script-source-1.12.2.gem +0 -0
- data/vendor/cache/execjs-2.7.0.gem +0 -0
- data/vendor/cache/sass-3.4.23.gem +0 -0
- data/vendor/cache/uglifier-3.0.4.gem +0 -0
- metadata +7 -2
- data/lib/delogger/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cea3f747cb16e5f906aa834840cb2d2c0ca9ea28
|
4
|
+
data.tar.gz: 2f4423f403d3d3a393f1fb86dfa5564958504393
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af5de38ecdefe3016bb94a2fc3d4aa08f99150383d72a5af6544759ecc7e32edc1cb67e6430546796e8261a38abb71ad5d87ece0ca0f8c77a132652faea5f3f3
|
7
|
+
data.tar.gz: 22d44db257bf782d4192e564fa5664dfdab7064a2deb33606fd0bc7da641656de6893dd28a4fad72f48e73351f8886f589836a21e510c4049bf7bc216d18cf31
|
data/README.md
CHANGED
@@ -2,12 +2,64 @@
|
|
2
2
|
|
3
3
|
# Delogger
|
4
4
|
|
5
|
-
This gem is a
|
6
|
-
|
7
|
-
|
5
|
+
This gem is a wrapper for browser's `window.console` object. It makes your console convenient and
|
6
|
+
pretty.
|
8
7
|
|
9
8
|
![Demo](/images/demo.png?raw=true)
|
10
9
|
|
10
|
+
## Features
|
11
|
+
|
12
|
+
- [Output visibility control](#initialization-options)
|
13
|
+
- [A different take on groups](#groups)
|
14
|
+
- [Markdown-like output formatting](#formatting)
|
15
|
+
|
16
|
+
## Why?
|
17
|
+
|
18
|
+
### Output visibility control
|
19
|
+
|
20
|
+
As your JS logic becomes more and more complex, it's getting harder do debug it. And clearing out
|
21
|
+
all those `console.log` calls from your files can be really annoying. Besides, you might want to
|
22
|
+
leave those messages in your code because you know you'll likely need to write them again when
|
23
|
+
you'll work on the next feature. But at same time you don't want to flood your clients' consoles
|
24
|
+
when they are browsing your production website.
|
25
|
+
|
26
|
+
Delogger solves this problem by letting you turn it on or off.
|
27
|
+
See [initialization options](#initialization-options).
|
28
|
+
|
29
|
+
### Console groups and asynchronous scripts
|
30
|
+
|
31
|
+
Most browsers let you organize your console output by creating [groups](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consolegroupobject_object).
|
32
|
+
You can even nest them! However, when you're dealing with asynchronous code, it can get very messy.
|
33
|
+
|
34
|
+
Consider this example:
|
35
|
+
```js
|
36
|
+
async function f1() {
|
37
|
+
console.group('group 1');
|
38
|
+
console.log('function 1 start');
|
39
|
+
await sleep(1000);
|
40
|
+
console.log('function 1 end');
|
41
|
+
console.groupEnd();
|
42
|
+
}
|
43
|
+
|
44
|
+
async function f2() {
|
45
|
+
console.group('group 2');
|
46
|
+
console.log('function 2 start');
|
47
|
+
await sleep(500);
|
48
|
+
console.log('function 2 end');
|
49
|
+
console.groupEnd();
|
50
|
+
}
|
51
|
+
|
52
|
+
f1(); f2()
|
53
|
+
```
|
54
|
+
|
55
|
+
Result:
|
56
|
+
|
57
|
+
![Async groups result](/images/async_bad_result.png?raw=true)
|
58
|
+
|
59
|
+
This is an extreme example, but groups fail to work in the same way when you're dealing with real code.
|
60
|
+
|
61
|
+
Delogger provides a different implementation of groups that solves this problem. See [groups](#groups).
|
62
|
+
|
11
63
|
## Getting Started
|
12
64
|
|
13
65
|
### Rails:
|
@@ -34,80 +86,133 @@ your application.
|
|
34
86
|
|
35
87
|
## Usage
|
36
88
|
|
37
|
-
First,
|
89
|
+
First, Delogger has to be initialized:
|
38
90
|
```js
|
39
|
-
logger = new
|
91
|
+
logger = new Delogger
|
40
92
|
```
|
41
|
-
See also: [options](#options).
|
42
|
-
|
43
|
-
By default,
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
93
|
+
See also: [initialization options](#initialization-options).
|
94
|
+
|
95
|
+
By default, Delogger is **enabled**. You can use `logger.disable()` and `logger.enable()` to disable
|
96
|
+
or enable the logger respectively. Delogger is storing its settings in browser's `localStorage`, so
|
97
|
+
you only have to enable/disable it once. **It's strongly recommended to
|
98
|
+
[disable Delogger](#initialization-options) on your production website!**
|
99
|
+
|
100
|
+
Delogger supports following methods (most of them work similarly or exactly like their
|
101
|
+
`window.console`'s counterparts'):
|
102
|
+
- [`assert`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#assert)
|
103
|
+
- [`count`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#count)
|
104
|
+
- [`debug`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consoledebugobject_object)
|
105
|
+
- [`dir`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#dir)
|
106
|
+
- [`dirxml`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consoledirxmlobject)
|
107
|
+
- [`error`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#error)
|
108
|
+
- [`group`](#groups)
|
109
|
+
- [`info`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consoleinfoobject_object)
|
110
|
+
- [`log`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#log)
|
111
|
+
- [`profile` and `profileEnd`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#profile)
|
112
|
+
- [`time` and `timeEnd`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#time)
|
113
|
+
- [`timeStamp`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#timestamp)
|
114
|
+
- [`trace`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#trace)
|
115
|
+
- [`warn`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#warn)
|
116
|
+
|
117
|
+
### Initialization options
|
118
|
+
|
119
|
+
You can pass options to Delogger upon initialization:
|
120
|
+
```js
|
121
|
+
logger = new Delogger({ enabledByDefault: true, enableFormatting: true, collapseGroups: true })
|
122
|
+
```
|
123
|
+
- `enabledByDefault`: Defines whether to enable or disable the logger if it has not been enabled
|
124
|
+
locally with `logger.enable()`. It is *highly recommended* to set this option to `false` for
|
125
|
+
production. Default: `true`.
|
126
|
+
- `enableFormatting`: Defines whether [formatting](#formatting) should be enabled. Default: `true`.
|
127
|
+
- `collapseGroups`: Defines whether [groups](#groups) created with `logger.group()` should be
|
128
|
+
collapsed or not. Default: `true` (collapsed).
|
48
129
|
|
49
|
-
|
130
|
+
### Groups
|
50
131
|
|
51
|
-
|
132
|
+
Groups in Delogger don't behave like `window.console`'s groups do. In Delogger, groups work kind of
|
133
|
+
like *namespaces*.
|
52
134
|
|
53
|
-
|
135
|
+
```js
|
136
|
+
logger.group('my group').log('inside my group')
|
137
|
+
logger.group('other group', 'a nested group!').log('i\'m a bird in a nest')
|
138
|
+
logger.group('other group').log('inside another group')
|
139
|
+
logger.log('outside')
|
140
|
+
```
|
54
141
|
|
55
|
-
|
142
|
+
Result:
|
56
143
|
|
57
|
-
|
58
|
-
`profile`, `time`, `timeEnd`, `trace`.
|
144
|
+
![Group example](/images/group_example.png?raw=true)
|
59
145
|
|
60
|
-
|
146
|
+
Let's take a look at our example with asynchronous code now:
|
61
147
|
|
62
|
-
You can pass options to DeLogger upon initialization:
|
63
148
|
```js
|
64
|
-
|
149
|
+
async function f1() {
|
150
|
+
logger.group('group 1').log('function 1 start');
|
151
|
+
await sleep(1000);
|
152
|
+
logger.group('group 1').log('function 1 end');
|
153
|
+
}
|
154
|
+
|
155
|
+
async function f2() {
|
156
|
+
logger.group('group 2').log('function 2 start');
|
157
|
+
await sleep(1500);
|
158
|
+
logger.group('group 2').log('function 2 end');
|
159
|
+
}
|
160
|
+
|
161
|
+
f1(); f2()
|
65
162
|
```
|
66
|
-
- `disabled`: You can disable the logger globally if you want to. Normally, though, `logger.disable()`
|
67
|
-
should be enough.
|
68
|
-
- `formatStrings`: Controls whether string [formatting](#formatting) should be enabled.
|
69
163
|
|
70
|
-
|
71
|
-
|
72
|
-
If you want to debug a certain block of code, but your console is flooded with messages, you can
|
73
|
-
enter the Focus mode with `logger.focus()`. In this mode, you will only see "focused" output. To
|
74
|
-
produce "focused" output, use `logger.focus('my text')`. To leave Focus mode, use `logger.unfocus()`.
|
164
|
+
Result:
|
75
165
|
|
76
|
-
|
166
|
+
![Async groups success](/images/async_good_result.png?raw=true)
|
77
167
|
|
78
|
-
|
79
|
-
Supported classes: `badge`, `bold`, `italic`.
|
80
|
-
See also: [color classes](#color-classes).
|
168
|
+
### Formatting
|
81
169
|
|
82
|
-
|
170
|
+
Delogger supports Markdown-like string formatting. Here's the options:
|
171
|
+
- `**bold**`
|
172
|
+
- `*italic*`
|
173
|
+
- `~strikethrough~`
|
174
|
+
- `_underline_`
|
175
|
+
- `[custom text].classOne.classTwo...`. This syntax allows you to apply CSS classes to text in
|
176
|
+
square brackets. Available classes are: `badge`, `bold`, `italic`, `strikethrough`, `underline`,
|
177
|
+
`focus` and [color classes](#color-classes).
|
83
178
|
|
84
|
-
|
179
|
+
At the moment, you cannot nest formatting options into each other.
|
85
180
|
|
86
|
-
|
181
|
+
#### Color classes
|
87
182
|
|
88
|
-
|
183
|
+
Delogger supports following color classes (both for badges and normal text):
|
89
184
|
- `.blue`
|
90
185
|
- `.orange`
|
91
186
|
- `.red`
|
92
187
|
- `.green`
|
93
188
|
- `.cyan`
|
94
|
-
- `.yellow`
|
95
|
-
- `.gray`
|
96
|
-
- `.brown`
|
97
189
|
- `.purple`
|
98
|
-
- `.pink`
|
99
190
|
|
100
|
-
|
191
|
+
#### Adding custom / overriding existing styles
|
101
192
|
|
102
193
|
All styles are declared in a stylesheet and thus are easily extensible.
|
103
194
|
See [`assets/stylesheets/delogger.scss`](assets/stylesheets/delogger.scss).
|
104
|
-
At the moment, only these attributes are supported: `margin
|
105
|
-
`border-radius`, `padding`, `font-weight`, `font-style`.
|
195
|
+
At the moment, only these attributes are supported: `margin`, `color`, `background-color`,
|
196
|
+
`border-radius`, `padding`, `font-weight`, `font-style`, `text-decoration`.
|
197
|
+
|
198
|
+
### Focus mode
|
199
|
+
|
200
|
+
If you want to debug a certain block of code, but your console is flooded with messages, you can
|
201
|
+
enter the Focus mode with `logger.focus()`. In this mode, you will only see "focused" output. To
|
202
|
+
produce "focused" output, use `logger.focus('my text')`. To leave Focus mode, use `logger.unfocus()`.
|
106
203
|
|
107
204
|
## Development
|
108
205
|
|
109
206
|
Modify files in the `assets` folder, compile them afterwards using `./bin/compile`.
|
110
207
|
|
208
|
+
### TODO:
|
209
|
+
|
210
|
+
- `{ custom styles }`
|
211
|
+
- Nested formatting
|
212
|
+
- Browser support
|
213
|
+
- Add an option to add supported CSS attributes
|
214
|
+
- Object formatting, function formatting...
|
215
|
+
|
111
216
|
## Contributing
|
112
217
|
|
113
218
|
Bug reports and pull requests are welcome on GitHub at https://github.com/akxcv/delogger.
|
data/lib/delogger.rb
CHANGED
data/lib/delogger/rails.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
(function(){var t=[].slice;this.
|
1
|
+
(function(){var t=[].slice;this.Delogger=function(){function r(t){var r,e,o;null==t&&(t={}),o=null==t.enabledByDefault||t.enabledByDefault,e=null==t.enableFormatting||t.enableFormatting,r=null==t.collapseGroups||t.collapseGroups,this.settings={enabledByDefault:o,enableFormatting:e,collapseGroups:r},this.currentGroupStack=[],this.previousGroupStack=[]}var e;return e=["log","info","debug","warn","error","focus"],r.prototype.log=function(){return this.perform.apply(this,["log"].concat(t.call(arguments)))},r.prototype.info=function(){return this.perform.apply(this,["info"].concat(t.call(arguments)))},r.prototype.debug=function(){return this.perform.apply(this,["debug"].concat(t.call(arguments)))},r.prototype.warn=function(){return this.perform.apply(this,["warn"].concat(t.call(arguments)))},r.prototype.error=function(){return this.perform.apply(this,["error"].concat(t.call(arguments)))},r.prototype.assert=function(){return this.perform.apply(this,["assert"].concat(t.call(arguments)))},r.prototype.count=function(){return this.perform.apply(this,["count"].concat(t.call(arguments)))},r.prototype.dir=function(){return this.perform.apply(this,["dir"].concat(t.call(arguments)))},r.prototype.dirxml=function(){return this.perform.apply(this,["dirxml"].concat(t.call(arguments)))},r.prototype.profile=function(){return this.perform.apply(this,["profile"].concat(t.call(arguments)))},r.prototype.time=function(){return this.perform.apply(this,["time"].concat(t.call(arguments)))},r.prototype.timeEnd=function(){return this.perform("timeEnd")},r.prototype.trace=function(){return this.perform.apply(this,["trace"].concat(t.call(arguments)))},r.prototype.enable=function(){return localStorage.setItem("deloggerEnabled",!0)},r.prototype.disable=function(){return localStorage.removeItem("deloggerEnabled")},r.prototype.focus=function(){return arguments.length<1?localStorage.setItem("deloggerFocus",!0):this.perform.apply(this,["focus"].concat(t.call(arguments)))},r.prototype.unfocus=function(){return localStorage.removeItem("deloggerFocus")},r.prototype.group=function(){var r,e,o,n,l,c,a,u,i,p,s,f,h,g;if(g=1<=arguments.length?t.call(arguments,0):[],this.canPrint()){for(this.currentGroupStack=g,e=this.settings.collapseGroups?"groupCollapsed":"group",r=0,s=this.previousGroupStack,l=n=0,u=s.length;n<u;l=++n)p=s[l],p===this.currentGroupStack[l]&&(r+=1);if(o=this.previousGroupStack.length-r)for(c=1,f=o;1<=f?c<=f:c>=f;1<=f?c++:c--)console.groupEnd();for(h=this.currentGroupStack.slice(r),a=0,i=h.length;a<i;a++)p=h[a],console[e](p);return this}},r.prototype.perform=function(){var r,o,n,l,c;if(l=arguments[0],r=2<=arguments.length?t.call(arguments,1):[],o=e.indexOf(l)>-1&&this.settings.enableFormatting?this.format.apply(this,[l].concat(t.call(r))):r,!this.currentGroupStack.length)for(n=1,c=this.previousGroupStack.length;1<=c?n<=c:n>=c;1<=c?n++:n--)console.groupEnd();this.print.apply(this,[l].concat(t.call(o))),this.previousGroupStack=this.currentGroupStack,this.currentGroupStack=[]},r.prototype.print=function(){var r,e;if(e=arguments[0],r=2<=arguments.length?t.call(arguments,1):[],this.canPrint(e))return"focus"===e&&(e="log"),console[e].apply(console,r)},r.prototype.enabled=function(){return null!=localStorage.deloggerEnabled||this.settings.enabledByDefault},r.prototype.canPrint=function(t){return!!enabled&&("focus"===t||null==localStorage.deloggerFocus)},r.prototype.format=function(){var e,o,n,l,c,a,u,i,p,s,f,h,g,m,y,d;for(f=arguments[0],o=2<=arguments.length?t.call(arguments,1):[],d="",y=[],c=0,"focus"===f&&(d+="%cfocus%c ",y.push(computeStyle("badge focus")),y.push(computeStyle("default"))),u=0,p=o.length;u<p&&(e=o[u],l=r.Formatter.format(e),null!=l);u++)a=l[0],m=l[1],d+=a,y.push.apply(y,m),c+=1;for(o.splice(0,c),h=[d].concat(t.call(y),t.call(o)),g=[],i=0,s=h.length;i<s;i++)n=h[i],(null==n.length||n.length>0)&&g.push(n);return g},r}(),Delogger.Formatter=function(){function t(){}var r,e,o,n,l,c;return t.format=function(t){if("string"==typeof t)return o(t)},o=function(t){var o,n,c,a;for(a=[];r(t);)n=l(t),c=n.format.replacer||function(t,r){return"%c"+r+"%c"},o="string"==typeof n.format.classes?n.format.classes:n.format.classes(n.match),t=t.replace(n.format.regex,c),a.push(e(o)),a.push(e("default"));return[t,a]},r=function(t){var r,e,o;for(e=0,o=n.length;e<o;e++)if(r=n[e],r.regex.test(t))return!0;return!1},l=function(t){var r,e;return e=function(){var e,o,l;for(l=[],e=0,o=n.length;e<o;e++)r=n[e],r.regex.test(t)&&l.push({match:t.match(r.regex),format:r});return l}(),e.sort(function(t,r){return t.match.index-r.match.index})[0]},e=function(t){var r,e,o,n;return e=document.createElement("div"),e.id="delogger",e.className=t,e.style="display: none;",document.getElementsByTagName("body")[0].appendChild(e),r=getComputedStyle(e),n=function(){var t,e,n;for(n=[],t=0,e=c.length;t<e;t++)o=c[t],n.push(o+":"+r.getPropertyValue(o));return n}().join(";"),e.parentNode.removeChild(e),n},c=["margin","color","background-color","border-radius","padding","font-weight","font-style","text-decoration"],n=[{regex:/\*\*([^\*]+)\*\*/,classes:"bold"},{regex:/\*([^\*]+)\*/,classes:"italic"},{regex:/~([^~]+)~/,classes:"strikethrough"},{regex:/_([^_]+)_/,classes:"underline"},{regex:/\[([^\[\]]+)\](\.[\.\w]+)?(\{[^\{\}]+\})?/,classes:function(t){var r,e,o;return r=t[0],e=t[1],o=t[2],o.split(".").join(" ")}}],t}()}).call(this);
|
@@ -3,66 +3,53 @@
|
|
3
3
|
background-color: transparent;
|
4
4
|
border-radius: 0;
|
5
5
|
padding: 0;
|
6
|
-
margin
|
6
|
+
margin: 0;
|
7
7
|
font-weight: normal;
|
8
|
-
font-style: normal;
|
9
|
-
margin-left: 3px; }
|
8
|
+
font-style: normal; }
|
10
9
|
#delogger.badge {
|
11
10
|
color: white;
|
12
11
|
background-color: black;
|
13
|
-
border-radius:
|
14
|
-
padding:
|
12
|
+
border-radius: 3px;
|
13
|
+
padding: 2px;
|
14
|
+
margin: 0 2px; }
|
15
15
|
#delogger.badge.blue {
|
16
16
|
color: white;
|
17
|
-
background-color:
|
17
|
+
background-color: #61afef; }
|
18
18
|
#delogger.badge.orange {
|
19
19
|
color: white;
|
20
|
-
background-color:
|
20
|
+
background-color: #d19a66; }
|
21
21
|
#delogger.badge.red {
|
22
22
|
color: white;
|
23
|
-
background-color:
|
23
|
+
background-color: #e06c75; }
|
24
24
|
#delogger.badge.green {
|
25
25
|
color: white;
|
26
|
-
background-color:
|
26
|
+
background-color: #98c379; }
|
27
27
|
#delogger.badge.cyan {
|
28
|
-
color: gray;
|
29
|
-
background-color: cyan; }
|
30
|
-
#delogger.badge.yellow {
|
31
|
-
color: gray;
|
32
|
-
background-color: yellow; }
|
33
|
-
#delogger.badge.gray {
|
34
28
|
color: white;
|
35
|
-
background-color:
|
36
|
-
#delogger.badge.brown {
|
37
|
-
color: white;
|
38
|
-
background-color: brown; }
|
29
|
+
background-color: #56b6c2; }
|
39
30
|
#delogger.badge.purple {
|
40
31
|
color: white;
|
41
|
-
background-color:
|
42
|
-
#delogger.badge.
|
43
|
-
color:
|
44
|
-
background
|
32
|
+
background-color: #c678dd; }
|
33
|
+
#delogger.badge.focus {
|
34
|
+
color: #bada55;
|
35
|
+
background: #444; }
|
45
36
|
#delogger.blue {
|
46
|
-
color:
|
37
|
+
color: #4078f2; }
|
47
38
|
#delogger.orange {
|
48
|
-
color:
|
39
|
+
color: #986801; }
|
49
40
|
#delogger.red {
|
50
|
-
color:
|
41
|
+
color: #e45649; }
|
51
42
|
#delogger.green {
|
52
|
-
color:
|
43
|
+
color: #50a14f; }
|
53
44
|
#delogger.cyan {
|
54
|
-
color:
|
55
|
-
#delogger.yellow {
|
56
|
-
color: yellow; }
|
57
|
-
#delogger.gray {
|
58
|
-
color: gray; }
|
59
|
-
#delogger.brown {
|
60
|
-
color: brown; }
|
45
|
+
color: #0184bc; }
|
61
46
|
#delogger.purple {
|
62
|
-
color:
|
63
|
-
#delogger.pink {
|
64
|
-
color: pink; }
|
47
|
+
color: #a626a4; }
|
65
48
|
#delogger.bold {
|
66
49
|
font-weight: bold; }
|
67
50
|
#delogger.italic {
|
68
51
|
font-style: italic; }
|
52
|
+
#delogger.strikethrough {
|
53
|
+
text-decoration: line-through; }
|
54
|
+
#delogger.underline {
|
55
|
+
text-decoration: underline; }
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: delogger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Komarov
|
@@ -94,9 +94,14 @@ files:
|
|
94
94
|
- lib/delogger.rb
|
95
95
|
- lib/delogger/rails.rb
|
96
96
|
- lib/delogger/rails/engine.rb
|
97
|
-
- lib/delogger/version.rb
|
97
|
+
- lib/delogger/rails/version.rb
|
98
98
|
- vendor/assets/javascripts/delogger.js
|
99
99
|
- vendor/assets/stylesheets/delogger.css
|
100
|
+
- vendor/cache/coffee-script-2.4.1.gem
|
101
|
+
- vendor/cache/coffee-script-source-1.12.2.gem
|
102
|
+
- vendor/cache/execjs-2.7.0.gem
|
103
|
+
- vendor/cache/sass-3.4.23.gem
|
104
|
+
- vendor/cache/uglifier-3.0.4.gem
|
100
105
|
homepage: https://github.com/akxcv/delogger
|
101
106
|
licenses:
|
102
107
|
- MIT
|
data/lib/delogger/version.rb
DELETED