iam 0.1.7 → 0.1.8

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.
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  *.gem
4
4
  Gemfile.lock
5
5
  .bundle
6
+ .sass-cache/
data/README.md CHANGED
@@ -31,7 +31,7 @@ Also you may log in using user_id (e.g. 42):
31
31
  Add gem to your gemfile:
32
32
 
33
33
  ```ruby
34
- gem 'iam', '~> 0.1.7'
34
+ gem 'iam', '~> 0.1.8'
35
35
  ```
36
36
  ##Configuration
37
37
 
data/Rakefile CHANGED
@@ -26,8 +26,12 @@ def precompile_sass
26
26
  end
27
27
 
28
28
  def precompile_coffee
29
+ require 'uglifier'
30
+
29
31
  Dir[File.join('**', '*.coffee')].each do |file|
30
- system "coffee -c #{file}"
32
+ js_code = %x(coffee -p -c #{file})
33
+ js_file = file.gsub /coffee\Z/, 'js'
34
+ File.open(js_file, 'w') { |f| f << Uglifier.compile(js_code) }
31
35
  p "File #{file} precompiled"
32
36
  end
33
37
  end
data/iam.gemspec CHANGED
@@ -15,16 +15,17 @@ Gem::Specification.new do |s|
15
15
  s.files = `git ls-files`.split("\n")
16
16
  s.require_path = 'lib'
17
17
 
18
- s.add_dependency 'activesupport', '~> 3.0'
18
+ s.add_dependency 'activesupport', '~> 3.1'
19
19
  s.add_dependency 'rack'
20
20
 
21
21
  s.add_development_dependency 'pry'
22
+ s.add_development_dependency 'uglifier'
22
23
  s.add_development_dependency 'sass'
23
24
  s.add_development_dependency 'coffee-rails'
24
25
  s.add_development_dependency 'jquery-rails'
25
26
  s.add_development_dependency 'sqlite3'
26
27
  s.add_development_dependency 'devise'
27
- s.add_development_dependency 'rails', '~> 3.0'
28
+ s.add_development_dependency 'rails', '~> 3.1'
28
29
  s.add_development_dependency 'rspec-rails', '~> 2.10'
29
30
 
30
31
  s.rubyforge_project = s.name
data/lib/iam/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Iam
2
- VERSION = '0.1.7'
2
+ VERSION = '0.1.8'
3
3
  end
@@ -6,22 +6,20 @@ module Rack
6
6
 
7
7
  private
8
8
  def css_code
9
- '<style type="text/css">' << typed_asset('stylesheets', 'iam.css') << '</style>'
9
+ "<style type='text/css'>#{typed_asset('stylesheets', 'iam.css')}</style>"
10
10
  end
11
11
 
12
12
  def js_code
13
- '<script type="text/javascript">' << typed_asset('javascripts', 'iam.js', 'jquery.cookie.js') << '</script>'
13
+ "<script type='text/javascript'>#{typed_asset('javascripts', 'iam.js', 'jquery.cookie.js')}</script>"
14
14
  end
15
15
 
16
16
  def typed_asset(type, *files)
17
- files.map { |f| asset type, f }.reduce :<<
17
+ files.map { |f| asset type, f }.reduce :+
18
18
  end
19
19
 
20
20
  def asset(type, file)
21
21
  @assets ||= {}
22
- output = ::File.open(::File.join(::File.dirname(__FILE__), '..', '..', 'vendor', 'assets', type, file), 'r:UTF-8') do |f|
23
- f.read
24
- end
22
+ output = ::File.read ::File.join(::File.dirname(__FILE__), '..', '..', 'vendor', 'assets', type, file)
25
23
  @assets[file] ||= output
26
24
  end
27
25
  end
@@ -1,101 +1,2 @@
1
1
  // Generated by CoffeeScript 1.3.3
2
- (function() {
3
-
4
- $(function() {
5
- var $menu, controlKeys, controlKeysMatch, iamNotice, initialize, input, inputMode, inputSelected, isTilde, logInByInput, logInByLink, menuLink, processInput, templateLink;
6
- $menu = $('#iam-menu');
7
- templateLink = '/iam/log_in_as/:id';
8
- menuLink = '/iam/menu';
9
- inputMode = false;
10
- input = '';
11
- controlKeys = ['alt', 'ctrl', 'shift'];
12
- initialize = function() {
13
- $('.iam-settings-header').on('click', function() {
14
- return $('.iam-settings').toggle();
15
- });
16
- $('#iam-menu').on('click', 'td', function() {
17
- var $tr, link;
18
- $tr = $(this).parents('tr');
19
- link = $tr.attr('href');
20
- if (link) {
21
- return logInByLink(link);
22
- }
23
- });
24
- return $.each(controlKeys, function() {
25
- var $checkbox, cookieName;
26
- $checkbox = $(".iam-" + this + "-settings input");
27
- cookieName = "iam-" + this + "-checked";
28
- $checkbox[0].checked = $.cookie(cookieName) === 'true';
29
- return $checkbox.on('click', function() {
30
- return $.cookie(cookieName, this.checked);
31
- });
32
- });
33
- };
34
- iamNotice = function(notice) {
35
- var $notice;
36
- $notice = $("<div class='iam-notice'>" + notice + "</div>");
37
- $('body').append($notice);
38
- return $notice.fadeIn(200).delay(1000).fadeOut(600);
39
- };
40
- logInByLink = function(link) {
41
- return $.post(link, function(data) {
42
- $menu.hide();
43
- window.location.reload();
44
- return iamNotice(data.notice);
45
- });
46
- };
47
- isTilde = function(code) {
48
- return String.fromCharCode(code) === 'À';
49
- };
50
- controlKeysMatch = function(e) {
51
- var key, keyOn, _i, _len;
52
- for (_i = 0, _len = controlKeys.length; _i < _len; _i++) {
53
- key = controlKeys[_i];
54
- keyOn = $.cookie("iam-" + key + "-checked") === 'true';
55
- if (keyOn !== e["" + key + "Key"]) {
56
- return false;
57
- }
58
- }
59
- return true;
60
- };
61
- inputSelected = function() {
62
- return $(document.getSelection().focusNode).find('input, textarea').length > 0;
63
- };
64
- processInput = function(input) {
65
- var link;
66
- if (input.match(/^\d+$/)) {
67
- link = templateLink.replace(/:id/, input);
68
- return logInByLink(link);
69
- } else {
70
- if (input) {
71
- return iamNotice("" + input + " is invalid id.");
72
- }
73
- }
74
- };
75
- logInByInput = function() {
76
- if (inputMode) {
77
- processInput(input);
78
- $('#iam-menu').remove();
79
- } else {
80
- $.get(menuLink, function(menu) {
81
- $('body').append(menu);
82
- return initialize();
83
- });
84
- }
85
- return input = '';
86
- };
87
- return $(document).on('keydown', function(e) {
88
- var _ref;
89
- if (!inputSelected() && isTilde(e.keyCode) && controlKeysMatch(e)) {
90
- logInByInput();
91
- inputMode = !inputMode;
92
- return $menu.toggle();
93
- } else {
94
- if ((48 <= (_ref = e.keyCode) && _ref <= 57)) {
95
- return input += String.fromCharCode(e.keyCode);
96
- }
97
- }
98
- });
99
- });
100
-
101
- }).call(this);
2
+ (function(){$(function(){var e,t,n,r,i,s,o,u,a,f,l,c,h,p;return e=$("#iam-menu"),p="/iam/log_in_as/:id",c="/iam/menu",o=!1,s="",t=["alt","ctrl","shift"],i=function(){return $(".iam-settings-header").on("click",function(){return $(".iam-settings").toggle()}),$("#iam-menu").on("click","td",function(){var e,t;e=$(this).parents("tr"),t=e.attr("href");if(t)return l(t)}),$.each(t,function(){var e,t;return e=$(".iam-"+this+"-settings input"),t="iam-"+this+"-checked",e[0].checked=$.cookie(t)==="true",e.on("click",function(){return $.cookie(t,this.checked)})})},r=function(e){var t;return t=$("<div class='iam-notice'>"+e+"</div>"),$("body").append(t),t.fadeIn(200).delay(1e3).fadeOut(600)},l=function(t){return $.post(t,function(t){return e.hide(),window.location.reload(),r(t.notice)})},a=function(e){return String.fromCharCode(e)==="À"},n=function(e){var n,r,i,s;for(i=0,s=t.length;i<s;i++){n=t[i],r=$.cookie("iam-"+n+"-checked")==="true";if(r!==e[""+n+"Key"])return!1}return!0},u=function(){return $(document.getSelection().focusNode).find("input, textarea").length>0},h=function(e){var t;if(e.match(/^\d+$/))return t=p.replace(/:id/,e),l(t);if(e)return r(""+e+" is invalid id.")},f=function(){return o?(h(s),$("#iam-menu").remove()):$.get(c,function(e){return $("body").append(e),i()}),s=""},$(document).on("keydown",function(t){var r;if(!u()&&a(t.keyCode)&&n(t))return f(),o=!o,e.toggle();if(48<=(r=t.keyCode)&&r<=57)return s+=String.fromCharCode(t.keyCode)})})}).call(this);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-04 00:00:00.000000000 Z
12
+ date: 2012-12-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '3.0'
21
+ version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '3.0'
29
+ version: '3.1'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rack
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -59,6 +59,22 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: uglifier
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
62
78
  - !ruby/object:Gem::Dependency
63
79
  name: sass
64
80
  requirement: !ruby/object:Gem::Requirement
@@ -146,7 +162,7 @@ dependencies:
146
162
  requirements:
147
163
  - - ~>
148
164
  - !ruby/object:Gem::Version
149
- version: '3.0'
165
+ version: '3.1'
150
166
  type: :development
151
167
  prerelease: false
152
168
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,7 +170,7 @@ dependencies:
154
170
  requirements:
155
171
  - - ~>
156
172
  - !ruby/object:Gem::Version
157
- version: '3.0'
173
+ version: '3.1'
158
174
  - !ruby/object:Gem::Dependency
159
175
  name: rspec-rails
160
176
  requirement: !ruby/object:Gem::Requirement