delogger 0.3.1 → 0.3.2
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/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
|

|
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
|
+

|
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
|
+

|
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
|
+

|
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