jquery_drapper 0.0.3 → 0.0.4

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/.jshintrc ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ // Settings
3
+ "passfail" : false, // Stop on first error.
4
+ "maxerr" : 100, // Maximum error before stopping.
5
+
6
+
7
+ // Predefined globals whom JSHint will ignore.
8
+ "browser" : true, // Standard browser globals e.g. `window`, `document`.
9
+
10
+ "node" : false,
11
+ "rhino" : false,
12
+ "couch" : false,
13
+ "wsh" : false, // Windows Scripting Host.
14
+
15
+ "jquery" : true,
16
+ "prototypejs" : false,
17
+ "mootools" : false,
18
+ "dojo" : false,
19
+
20
+ "predef" : [ // Custom globals.
21
+ "console"
22
+ ],
23
+
24
+
25
+ // Development.
26
+ "debug" : false, // Allow debugger statements e.g. browser breakpoints.
27
+ "devel" : true, // Allow developments statements e.g. `console.log();`.
28
+
29
+
30
+ // ECMAScript 5.
31
+ "es5" : true, // Allow ECMAScript 5 syntax.
32
+ "strict" : false, // Require `use strict` pragma in every file.
33
+ "globalstrict" : false, // Allow global "use strict" (also enables 'strict').
34
+
35
+
36
+ // The Good Parts.
37
+ "asi" : false, // Tolerate Automatic Semicolon Insertion (no semicolons).
38
+ "laxbreak" : false, // Tolerate unsafe line breaks e.g. `return [\n] x` without semicolons.
39
+ "bitwise" : true, // Prohibit bitwise operators (&, |, ^, etc.).
40
+ "boss" : true, // Tolerate assignments inside if, for & while. Usually conditions & loops are for comparison, not assignments.
41
+ "curly" : true, // Require {} for every new block or scope.
42
+ "eqeqeq" : true, // Require triple equals i.e. `===`.
43
+ "eqnull" : false, // Tolerate use of `== null`.
44
+ "evil" : false, // Tolerate use of `eval`.
45
+ "expr" : false, // Tolerate `ExpressionStatement` as Programs.
46
+ "forin" : true, // Tolerate `for in` loops without `hasOwnPrototype`.
47
+ "immed" : true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );`
48
+ "latedef" : true, // Prohipit variable use before definition.
49
+ "loopfunc" : true, // Allow functions to be defined within loops.
50
+ "noarg" : true, // Prohibit use of `arguments.caller` and `arguments.callee`.
51
+ "regexp" : true, // Prohibit `.` and `[^...]` in regular expressions.
52
+ "regexdash" : false, // Tolerate unescaped last dash i.e. `[-...]`.
53
+ "scripturl" : true, // Tolerate script-targeted URLs.
54
+ "shadow" : false, // Allows re-define variables later in code e.g. `var x=1; x=2;`.
55
+ "supernew" : false, // Tolerate `new function () { ... };` and `new Object;`.
56
+ "undef" : true, // Require all non-global variables be declared before they are used.
57
+
58
+
59
+ // Personal styling preferences.
60
+ "newcap" : true, // Require capitalization of all constructor functions e.g. `new F()`.
61
+ "noempty" : true, // Prohibit use of empty blocks.
62
+ "nonew" : true, // Prohibit use of constructors for side-effects.
63
+ "nomen" : false, // Prohibit use of initial or trailing underbars in names.
64
+ "onevar" : false, // Allow only one `var` statement per function.
65
+ "plusplus" : false, // Prohibit use of `++` & `--`.
66
+ "sub" : true, // Tolerate all forms of subscript notation besides dot notation e.g. `dict['key']` instead of `dict.key`.
67
+ "trailing" : true, // Prohibit trailing whitespaces.
68
+ "white" : true, // Check against strict whitespace and indentation rules.
69
+ "indent" : 2 // Specify indentation spacing
70
+ }
71
+
@@ -1,3 +1,3 @@
1
1
  module JqueryDrapper
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -1,43 +1,44 @@
1
- (function($) {
1
+ (function ($) {
2
2
  $.drappers = {};
3
3
 
4
- $.fn.drapper = function(options) {
4
+ $.fn.drapper = function (options) {
5
5
  options = $.extend({}, options);
6
6
  options.drapperIdentifier = "data-drapper";
7
7
  options.elementSelector = options.elementSelector || '[' + options.drapperIdentifier + ']';
8
8
 
9
- var drapperMethods = function(decoree){
10
- var _hashConfig = (function() {
9
+ var drapperMethods = function (decoree) {
10
+ var _hashConfig = (function () {
11
11
  var _rawAttributeData = $(decoree).attr(options.drapperIdentifier);
12
12
  var result = {};
13
+ var _attributeData;
13
14
 
14
15
  try {
15
- var _attributeData = eval( "({" + _rawAttributeData + "})" );
16
- } catch(e) {
17
- throw("Drapper attributes are invalid. It should be as 'drapperName: config'. 'config' is a JSON. \n"
18
- + "Original error message: \n" + e.message );
16
+ _attributeData = eval("({" + _rawAttributeData + "})"); //TODO: eval is evil
17
+ } catch (e) {
18
+ throw ("Drapper attributes are invalid. It should be as 'drapperName: config'. 'config' is a JSON. \n" +
19
+ "Original error message: \n" + e.message);
19
20
  }
20
21
 
21
- $.each(_attributeData, function(key, value) {
22
+ $.each(_attributeData, function (key, value) {
22
23
  result['drapperType'] = key;
23
24
  result['drapperConfig'] = value;
24
25
  });
25
26
  return result;
26
- })()
27
+ }());
27
28
 
28
- var _type = function() { return _hashConfig.drapperType };
29
- var config = function() { return _hashConfig.drapperConfig };
29
+ var _type = function () { return _hashConfig.drapperType; };
30
+ var config = function () { return _hashConfig.drapperConfig; };
30
31
 
31
32
  function wrapper() {
32
- var findFakeDiv = function() {
33
+ var findFakeDiv = function () {
33
34
  var a = $(decoree).next('div[data-drapper-wrapper]');
34
- if (a.length == 0) {
35
+ if (a.length === 0) {
35
36
  return false;
36
37
  } else {
37
38
  return a;
38
39
  }
39
40
  };
40
- var createFakeDiv = function() {
41
+ var createFakeDiv = function () {
41
42
  var fakeDiv = $(document.createElement('div'));
42
43
  fakeDiv.attr({
43
44
  'data-drapper-wrapper': true,
@@ -47,19 +48,19 @@
47
48
  return fakeDiv;
48
49
  };
49
50
  return findFakeDiv() || createFakeDiv();
50
- };
51
+ }
51
52
 
52
53
  function drapperConverter() {
53
54
  var converterPlugin = $.drappers[_type()];
54
55
 
55
56
  if (converterPlugin === undefined) {
56
- throw "Undefined drapper extention '" + name + "'. "
57
- + "Please, provide 'jquery.drapper.'" + name + "' plugin. "
58
- + "See https://github.com/aratak/jquery_drapper/ for details."
57
+ throw "Undefined drapper extension '" + _type() + "'. " +
58
+ "Please, provide 'jquery.drapper.'" + _type() + "' plugin. " +
59
+ "See https://github.com/aratak/jquery_drapper/ for details.";
59
60
  }
60
61
 
61
62
  return converterPlugin.call(decoree);
62
- };
63
+ }
63
64
 
64
65
  function init() {
65
66
  $.extend(decoree, {
@@ -69,17 +70,17 @@
69
70
  'wrapper': wrapper
70
71
  });
71
72
  return drapperConverter();
72
- };
73
+ }
73
74
 
74
75
  return init();
75
- }
76
+ };
76
77
 
77
- return this.each(function() {
78
- $(this).find(options.elementSelector).each(function() {
78
+ return this.each(function () {
79
+ $(this).find(options.elementSelector).each(function () {
79
80
  if (!this.isDecoree) {
80
81
  drapperMethods(this);
81
82
  }
82
83
  });
83
84
  });
84
- }
85
- })(jQuery);
85
+ };
86
+ }(jQuery));
@@ -1,7 +1,7 @@
1
1
  (function($) {
2
2
  if($.fn.drapper === undefined) {
3
3
  throw "$.drapper plugin hasn't been required"
4
- + "This plugin depends from 'jquery.drapper' plugin. "
4
+ + "This plugin depends on 'jquery.drapper' plugin. "
5
5
  + "See https://github.com/aratak/jquery.drapper/ for details."
6
6
  }
7
7
 
@@ -1,7 +1,7 @@
1
1
  (function($) {
2
2
  if($.fn.drapper === undefined) {
3
3
  throw "$.drapper plugin hasn't been required"
4
- + "This plugin depends from 'jquery.drapper' plugin. "
4
+ + "This plugin depends on 'jquery.drapper' plugin. "
5
5
  + "See https://github.com/aratak/jquery_drapper/ for details."
6
6
  }
7
7
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 3
9
- version: 0.0.3
8
+ - 4
9
+ version: 0.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Alexey Osipenko
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2012-01-05 00:00:00 +02:00
17
+ date: 2012-02-28 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -48,6 +48,7 @@ extra_rdoc_files: []
48
48
 
49
49
  files:
50
50
  - .gitignore
51
+ - .jshintrc
51
52
  - Gemfile
52
53
  - MIT-LICENSE
53
54
  - README.markdown