bone_tree 0.5.6 → 0.9.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.
Files changed (57) hide show
  1. data/.gitignore +26 -3
  2. data/Gemfile +5 -12
  3. data/Rakefile +7 -9
  4. data/bone_tree.gemspec +30 -14
  5. data/config.rb +8 -0
  6. data/lib/assets/javascripts/bone_tree.js +277 -981
  7. data/lib/assets/stylesheets/bone_tree.css +108 -0
  8. data/lib/bone_tree/rails.rb +5 -0
  9. data/lib/bone_tree/sprockets.rb +3 -0
  10. data/lib/{version.rb → bone_tree/version.rb} +1 -1
  11. data/lib/bone_tree.rb +11 -6
  12. data/source/index.html.haml +10 -382
  13. data/source/javascripts/{_backbone.js → backbone.js} +282 -142
  14. data/source/javascripts/bone_tree/models/directory.js.coffee +109 -0
  15. data/source/javascripts/bone_tree/models/file.js.coffee +12 -0
  16. data/source/javascripts/bone_tree/models/node.js.coffee +24 -0
  17. data/source/javascripts/bone_tree/models/settings.js.coffee +5 -0
  18. data/source/javascripts/bone_tree/{_namespace.js.coffee → namespace.js.coffee} +1 -1
  19. data/source/javascripts/bone_tree/views/directory.js.coffee +56 -0
  20. data/source/javascripts/bone_tree/views/file.js.coffee +25 -0
  21. data/source/javascripts/bone_tree/views/tree.js.coffee +87 -0
  22. data/source/javascripts/bone_tree.js.coffee +2 -1
  23. data/source/stylesheets/bone_tree.css.sass +0 -38
  24. data/spec/javascripts/directory_spec.coffee +26 -0
  25. data/spec/javascripts/helpers/spec_helper.coffee +3 -4
  26. data/spec/javascripts/sorting_spec.coffee +12 -0
  27. data/spec/javascripts/support/jasmine.yml +6 -4
  28. metadata +143 -36
  29. data/Gemfile.lock +0 -190
  30. data/docs/index.html +0 -222
  31. data/docs/resources/base.css +0 -70
  32. data/docs/resources/index.css +0 -20
  33. data/docs/resources/module.css +0 -24
  34. data/docs/source/javascripts/bone_tree/_namespace.js.html +0 -45
  35. data/docs/source/javascripts/bone_tree/models/_directory.js.html +0 -126
  36. data/docs/source/javascripts/bone_tree/models/_file.js.html +0 -112
  37. data/docs/source/javascripts/bone_tree/models/_nodes.js.html +0 -174
  38. data/docs/source/javascripts/bone_tree/models/_settings.js.html +0 -75
  39. data/docs/source/javascripts/bone_tree/views/_directory.js.html +0 -94
  40. data/docs/source/javascripts/bone_tree/views/_file.js.html +0 -82
  41. data/docs/source/javascripts/bone_tree/views/_menu.js.html +0 -110
  42. data/docs/source/javascripts/bone_tree/views/_tree.js.html +0 -432
  43. data/source/javascripts/_jquery.min.js +0 -5
  44. data/source/javascripts/_underscore.js +0 -999
  45. data/source/javascripts/bone_tree/models/_directory.js.coffee +0 -63
  46. data/source/javascripts/bone_tree/models/_file.js.coffee +0 -55
  47. data/source/javascripts/bone_tree/models/_nodes.js.coffee +0 -117
  48. data/source/javascripts/bone_tree/models/_settings.js.coffee +0 -25
  49. data/source/javascripts/bone_tree/views/_directory.js.coffee +0 -73
  50. data/source/javascripts/bone_tree/views/_file.js.coffee +0 -51
  51. data/source/javascripts/bone_tree/views/_menu.js.coffee +0 -97
  52. data/source/javascripts/bone_tree/views/_tree.js.coffee +0 -498
  53. data/spec/javascripts/directory_view_spec.coffee +0 -91
  54. data/spec/javascripts/file_view_spec.coffee +0 -70
  55. data/spec/javascripts/menu_view_spec.coffee +0 -42
  56. data/spec/javascripts/nodes_spec.coffee +0 -37
  57. data/spec/javascripts/tree_view_spec.coffee +0 -39
@@ -0,0 +1,109 @@
1
+ #= require ./node
2
+
3
+ BoneTree.namespace "BoneTree.Models", (Models) ->
4
+ class Models.Directory extends Models.Node
5
+ add: (filePath, fileData={}) =>
6
+ {Directory, File} = Models
7
+
8
+ [dirs..., fileName] = filePath.split('/')
9
+
10
+ currentDirectory = @
11
+
12
+ dirs.each (directoryName) ->
13
+ return if directoryName is ''
14
+
15
+ directory = currentDirectory.directories().select (dir) ->
16
+ dir.name() is directoryName
17
+ .first()
18
+
19
+ unless directory
20
+ directory = new Directory
21
+ path: filePath.substring(0, filePath.indexOf(directoryName) + directoryName.length)
22
+
23
+ currentDirectory.collection.add(directory)
24
+
25
+ currentDirectory = directory
26
+
27
+ if file = currentDirectory.getFile(fileName)
28
+ file.set(fileData)
29
+ else
30
+ file = new File(_.extend(fileData, {path: filePath}))
31
+
32
+ currentDirectory.collection.add file
33
+
34
+ return file
35
+
36
+ remove: (path) =>
37
+ if file = @getFile(path)
38
+ file.destroy()
39
+ else if directory = @getDirectory(path)
40
+ directory.destroy()
41
+
42
+ directories: =>
43
+ @collection.filter (node) ->
44
+ node.isDirectory()
45
+
46
+ getDirectory: (directoryPath) =>
47
+ [first, rest...] = directoryPath.split('/')
48
+
49
+ match = @collection.find (node) ->
50
+ node.name() is first
51
+
52
+ if match?.isDirectory()
53
+ if rest.length
54
+ return match.getDirectory(rest.join('/'))
55
+ else
56
+ return match
57
+
58
+ return undefined
59
+
60
+ files: =>
61
+ @collection.filter (node) ->
62
+ node.isFile()
63
+
64
+ getFile: (filePath) =>
65
+ [first, rest...] = filePath.split '/'
66
+
67
+ match = @collection.find (node) ->
68
+ node.name() is first
69
+
70
+ if match?.isDirectory()
71
+ if rest.length
72
+ return match.getFile(rest.join('/'))
73
+ else
74
+ return undefined
75
+ else
76
+ return match
77
+
78
+ toArray: =>
79
+ results = [@]
80
+
81
+ @collection.each (node) =>
82
+ results = results.concat node.toArray()
83
+
84
+ results
85
+
86
+ toAscii: (indentation='') =>
87
+ nodeAscii = ["#{indentation}+#{@name()}"]
88
+
89
+ @collection.each (node) ->
90
+ nodeAscii.push node.toAscii(indentation + ' ')
91
+
92
+ nodeAscii.join('\n')
93
+
94
+ updateChildren: (previousPath, newPath) =>
95
+ @directories().each (directory) =>
96
+ directory.updateChildren(previousPath, newPath)
97
+
98
+ directoryPath = @get('path')
99
+
100
+ if directoryPath.indexOf(newPath) is -1
101
+ @set
102
+ path: @get('path').replace(previousPath, newPath)
103
+
104
+ @files().each (file) =>
105
+ filePath = file.get('path')
106
+
107
+ if filePath.indexOf(newPath) is -1
108
+ file.set
109
+ path: file.get('path').replace(previousPath, newPath)
@@ -0,0 +1,12 @@
1
+ #= require ./node
2
+
3
+ BoneTree.namespace "BoneTree.Models", (Models) ->
4
+ class Models.File extends Models.Node
5
+ extension: =>
6
+ @name().extension()
7
+
8
+ toArray: =>
9
+ [@]
10
+
11
+ toAscii: (indentation='') =>
12
+ "#{indentation}-#{@name()}"
@@ -0,0 +1,24 @@
1
+ BoneTree.namespace "BoneTree.Models", (Models) ->
2
+ class Models.Node extends Backbone.Model
3
+ initialize: ->
4
+ @collection = new Models.Nodes
5
+
6
+ isDirectory: =>
7
+ @ instanceof Models.Directory
8
+
9
+ isFile: =>
10
+ @ instanceof Models.File
11
+
12
+ name: =>
13
+ @get('path').split('/').last()
14
+
15
+ class Models.Nodes extends Backbone.Collection
16
+ comparator: (node) ->
17
+ if node.isDirectory()
18
+ sortPriority = 0
19
+ else
20
+ sortPriority = 1
21
+
22
+ return sortPriority + node.name()
23
+
24
+ model: Models.Node
@@ -0,0 +1,5 @@
1
+ BoneTree.namespace "BoneTree.Models", (Models) ->
2
+ class Models.Settings extends Backbone.Model
3
+ defaults:
4
+ confirmDeletes: false
5
+ showExtensions: false
@@ -1,4 +1,4 @@
1
- window.BoneTree = {}
1
+ window.BoneTree ||= {}
2
2
 
3
3
  BoneTree.namespace = (target, name, block) ->
4
4
  [target, name, block] = [(if typeof exports isnt 'undefined' then exports else window), arguments...] if arguments.length < 3
@@ -0,0 +1,56 @@
1
+ BoneTree.namespace "BoneTree.Views", (Views) ->
2
+ class Views.Directory extends Backbone.View
3
+ className: 'directory'
4
+ tagName: 'ul'
5
+
6
+ initialize: (options) ->
7
+ @tree = options.tree
8
+
9
+ @$el.attr 'data-cid', @model.cid
10
+
11
+ @open = false
12
+
13
+ @model.bind 'change:path', (model) =>
14
+ @tree.render().trigger 'rename', model, name
15
+
16
+ previousPath = model.previous('path')
17
+
18
+ if (path = model.get('path')).indexOf('/') is 0
19
+ newPath = path.replace('/', '')
20
+ else
21
+ newPath = path
22
+
23
+ model.updateChildren(previousPath, newPath)
24
+
25
+ @model.collection.bind 'add', @render
26
+
27
+ @model.collection.bind 'remove', (model, collection) =>
28
+ @tree.trigger 'remove', model
29
+ @render()
30
+
31
+ @displayChildren(@open)
32
+
33
+ appendView: (node) =>
34
+ view = @tree.findOrCreateView(node)
35
+
36
+ @$el.append view.render().$el
37
+
38
+ render: =>
39
+ @$el.text @model.name()
40
+
41
+ @model.collection.each @appendView
42
+
43
+ @displayChildren(@$el.hasClass('open'))
44
+
45
+ return @
46
+
47
+ displayChildren: (open) =>
48
+ fileDirChildren = @$el.children('.directory, .file')
49
+
50
+ @$el.toggleClass('open', open)
51
+ fileDirChildren.toggle(open)
52
+
53
+ toggleOpen: =>
54
+ @open = not @open
55
+
56
+ @displayChildren(@open)
@@ -0,0 +1,25 @@
1
+ BoneTree.namespace "BoneTree.Views", (Views) ->
2
+ class Views.File extends Backbone.View
3
+ tagName: 'li'
4
+
5
+ initialize: (options) ->
6
+ @settings = options.settings
7
+ @tree = options.tree
8
+
9
+ @model.bind 'change:path', (model) =>
10
+ @render()
11
+
12
+ render: =>
13
+ name = @model.name()
14
+
15
+ extension = name.extension()
16
+
17
+ @$el.attr('data-cid', @model.cid)
18
+ @$el.attr('class', "file #{extension}")
19
+
20
+ if @settings.get('showExtensions')
21
+ @$el.text name
22
+ else
23
+ @$el.text name.withoutExtension()
24
+
25
+ return @
@@ -0,0 +1,87 @@
1
+ BoneTree.namespace "BoneTree.Views", (Views) ->
2
+ {Models} = BoneTree
3
+
4
+ class Views.Tree extends Backbone.View
5
+ className: 'tree'
6
+
7
+ events:
8
+ 'mousedown .directory': '_openDirectory'
9
+ 'mousedown .file': '_openFile'
10
+
11
+ initialize: ->
12
+ @viewCache = {}
13
+
14
+ @settings = new Models.Settings(@options)
15
+
16
+ @root = new Models.Directory {path: '/'}
17
+
18
+ @root.collection.bind 'add', @render
19
+
20
+ @root.collection.bind 'remove', (model, collection) =>
21
+ @$("[data-cid='#{model.cid}']").remove()
22
+
23
+ @render()
24
+
25
+ @trigger 'remove', model
26
+
27
+ add: (filePath, fileData) =>
28
+ if Object.isArray(filePath)
29
+ @add(file.path, file) for file in filePath
30
+ else
31
+ @root.add(filePath, fileData)
32
+
33
+ remove: (path) =>
34
+ @root.remove(path)
35
+
36
+ findOrCreateView: (node) =>
37
+ if node.isDirectory()
38
+ type = 'Directory'
39
+ else
40
+ type = 'File'
41
+
42
+ unless view = @viewCache[node.cid]
43
+ view = @viewCache[node.cid] = new Views[type]
44
+ model: node
45
+ settings: @settings
46
+ tree: @
47
+
48
+ return view
49
+
50
+ toArray: =>
51
+ @root.toArray()
52
+
53
+ getDirectory: (directoryPath) =>
54
+ @root.getDirectory(directoryPath)
55
+
56
+ getFile: (filePath) =>
57
+ @root.getFile(filePath)
58
+
59
+ toAscii: =>
60
+ '\n' + @root.toAscii()
61
+
62
+ getViewFromClick: (e) =>
63
+ e.stopPropagation()
64
+
65
+ cid = $(e.currentTarget).data('cid')
66
+
67
+ return @viewCache[cid]
68
+
69
+ _openDirectory: (e) =>
70
+ e.stopPropagation()
71
+
72
+ view = @getViewFromClick(e)
73
+
74
+ view.toggleOpen()
75
+
76
+ _openFile: (e) =>
77
+ view = @getViewFromClick(e)
78
+
79
+ @trigger 'openFile', e, view.model
80
+
81
+ render: =>
82
+ @root.collection.each (node) =>
83
+ view = @findOrCreateView(node)
84
+
85
+ @$el.append view.render().$el
86
+
87
+ return @
@@ -1 +1,2 @@
1
- #= require ./bone_tree/views/_tree
1
+ #= require ./bone_tree/namespace
2
+ #= require_tree ./bone_tree
@@ -3,44 +3,6 @@
3
3
 
4
4
  $node_height: 20px
5
5
 
6
- .filetree_context_menu
7
- @include global-reset
8
-
9
- +border-radius(3px)
10
- +box-shadow(rgba(0, 0, 0, 0.4) 0 2px 10px)
11
-
12
- background-color: #fff
13
- border: 1px solid rgba(0, 0, 0, 0.3)
14
- cursor: pointer
15
- display: none
16
- font-weight: 500
17
- position: absolute
18
- width: 100px
19
-
20
- hr
21
- border: 0
22
- border-top: 1px solid rgba(0, 0, 0, 0.15)
23
- height: 1px
24
- margin: 0
25
-
26
- li
27
- margin: 0.25em 0
28
- padding: 0 0.5em
29
-
30
- &:hover
31
- background-color: #1084CE
32
- color: white
33
-
34
- .rename
35
- background: #fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACjSURBVDjL7ZNBCsIwEEVz1mwTo1YjiHdIqyWgFBGPonWTC8T2BjlE4JsUwU0ILe7ExUtgPvNmNkMAkG8gPyAwxiAHYwxKKUgpk/kg8N5n4Zwn6865j4CVLXj1AA//rArsW4hAzCil4wTFsUdx6rBuLLaXJ+aH+zTBqukDFpuzxe5qsagnCIbV32vHybF5Wd/GC3JkBfHJEZu11hBCJHPyvwXyAt6tONifnq6xAAAAAElFTkSuQmCC') no-repeat
36
- background-position: 4px 3px
37
- padding-left: 24px
38
-
39
- .delete
40
- background: #fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==') no-repeat
41
- background-position: 4px 3px
42
- padding-left: 24px
43
-
44
6
  .tree
45
7
  @include global-reset
46
8
 
@@ -0,0 +1,26 @@
1
+ describe 'BoneTree.Models.Directory', ->
2
+ it 'should be able to visualize the tree structure with Ascii characters', ->
3
+ tree = new BoneTree.Views.Tree
4
+
5
+ tree.add('src/main.coffee', { description: 'Entry point' })
6
+ tree.add('src/player.coffee', { description: 'The hero' })
7
+ tree.add('src/enemy.coffee', { description: 'The baddy' })
8
+
9
+ expect(tree.toAscii()).toEqual """
10
+
11
+ +
12
+ +src
13
+ -enemy.coffee
14
+ -main.coffee
15
+ -player.coffee
16
+ """
17
+
18
+ it 'should be able to return all files it contains', ->
19
+ tree = new BoneTree.Views.Tree
20
+
21
+ tree.add('src/main.coffee', { description: 'Entry point' })
22
+ tree.add('src/player.coffee', { description: 'The hero' })
23
+ tree.add('src/enemy.coffee', { description: 'The baddy' })
24
+
25
+ # extra +1 in the length from the root directory
26
+ expect(tree.toArray().length).toEqual(5)
@@ -1,7 +1,6 @@
1
- #= require _jquery.min
2
- #= require _underscore
3
- #= require _backbone
1
+ #= require backbone
4
2
  #= require sinon
5
3
  #= require jasmine-jquery
6
4
  #= require jasmine-sinon
7
-
5
+ #= require cornerstone
6
+ #= require bone_tree
@@ -0,0 +1,12 @@
1
+ describe "sorting behavior", ->
2
+ it 'should sort collections correctly according to the comparator', ->
3
+ {Models} = BoneTree
4
+
5
+ nodes = new Models.Nodes
6
+
7
+ nodes.add(new Models.Node {path: 'aaa'})
8
+ nodes.add(new Models.Node {path: 'zzz'})
9
+
10
+ expect(nodes.sort().map (node) ->
11
+ node.name()
12
+ ).toEqual(['aaa', 'zzz'])
@@ -1,8 +1,10 @@
1
+ src_dir: source/javascripts
1
2
  src_files:
2
3
  - "**/*"
3
- helpers:
4
- - helpers/**/*
4
+ asset_paths:
5
+ - vendor/javascripts
6
+ spec_dir: spec/javascripts
5
7
  spec_files:
6
8
  - "**/*_spec.*"
7
- src_dir: source/javascripts
8
- spec_dir: spec/javascripts
9
+ helpers:
10
+ - helpers/**/*
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bone_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.9.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,129 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-30 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2012-06-05 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jquery-source
16
+ requirement: &70171854531820 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70171854531820
25
+ - !ruby/object:Gem::Dependency
26
+ name: cornerstone-source
27
+ requirement: &70171854531340 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70171854531340
36
+ - !ruby/object:Gem::Dependency
37
+ name: underscore-source
38
+ requirement: &70171854530920 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70171854530920
47
+ - !ruby/object:Gem::Dependency
48
+ name: jasmine-spec-extras
49
+ requirement: &70171854530300 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70171854530300
58
+ - !ruby/object:Gem::Dependency
59
+ name: rake
60
+ requirement: &70171854529880 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70171854529880
69
+ - !ruby/object:Gem::Dependency
70
+ name: rb-fsevent
71
+ requirement: &70171854529460 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70171854529460
80
+ - !ruby/object:Gem::Dependency
81
+ name: therubyracer
82
+ requirement: &70171854529020 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70171854529020
91
+ - !ruby/object:Gem::Dependency
92
+ name: rack-codehighlighter
93
+ requirement: &70171854528600 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *70171854528600
102
+ - !ruby/object:Gem::Dependency
103
+ name: haml-coderay
104
+ requirement: &70171854528180 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70171854528180
113
+ - !ruby/object:Gem::Dependency
114
+ name: coffee-filter
115
+ requirement: &70171854527700 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *70171854527700
124
+ - !ruby/object:Gem::Dependency
125
+ name: jasmine
126
+ requirement: &70171854527260 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *70171854527260
14
135
  description: This is a filetree, written with Backbone. It is meant to be tree that
15
136
  will update your file nodes live and sort them when the node state is changed.
16
137
  email:
@@ -21,57 +142,40 @@ extra_rdoc_files: []
21
142
  files:
22
143
  - .gitignore
23
144
  - Gemfile
24
- - Gemfile.lock
25
145
  - Guardfile
26
146
  - README
27
147
  - Rakefile
28
148
  - bone_tree.gemspec
29
149
  - config.rb
30
150
  - config.ru
31
- - docs/index.html
32
- - docs/resources/base.css
33
- - docs/resources/index.css
34
- - docs/resources/module.css
35
- - docs/source/javascripts/bone_tree/_namespace.js.html
36
- - docs/source/javascripts/bone_tree/models/_directory.js.html
37
- - docs/source/javascripts/bone_tree/models/_file.js.html
38
- - docs/source/javascripts/bone_tree/models/_nodes.js.html
39
- - docs/source/javascripts/bone_tree/models/_settings.js.html
40
- - docs/source/javascripts/bone_tree/views/_directory.js.html
41
- - docs/source/javascripts/bone_tree/views/_file.js.html
42
- - docs/source/javascripts/bone_tree/views/_menu.js.html
43
- - docs/source/javascripts/bone_tree/views/_tree.js.html
44
151
  - lib/assets/javascripts/bone_tree.js
152
+ - lib/assets/stylesheets/bone_tree.css
45
153
  - lib/bone_tree.rb
46
- - lib/version.rb
154
+ - lib/bone_tree/rails.rb
155
+ - lib/bone_tree/sprockets.rb
156
+ - lib/bone_tree/version.rb
47
157
  - source/images/bonetree.png
48
158
  - source/images/crushed_bone.png
49
159
  - source/index.html.haml
50
- - source/javascripts/_backbone.js
51
- - source/javascripts/_jquery.min.js
52
- - source/javascripts/_underscore.js
160
+ - source/javascripts/backbone.js
53
161
  - source/javascripts/bone_tree.js.coffee
54
- - source/javascripts/bone_tree/_namespace.js.coffee
55
- - source/javascripts/bone_tree/models/_directory.js.coffee
56
- - source/javascripts/bone_tree/models/_file.js.coffee
57
- - source/javascripts/bone_tree/models/_nodes.js.coffee
58
- - source/javascripts/bone_tree/models/_settings.js.coffee
59
- - source/javascripts/bone_tree/views/_directory.js.coffee
60
- - source/javascripts/bone_tree/views/_file.js.coffee
61
- - source/javascripts/bone_tree/views/_menu.js.coffee
62
- - source/javascripts/bone_tree/views/_tree.js.coffee
162
+ - source/javascripts/bone_tree/models/directory.js.coffee
163
+ - source/javascripts/bone_tree/models/file.js.coffee
164
+ - source/javascripts/bone_tree/models/node.js.coffee
165
+ - source/javascripts/bone_tree/models/settings.js.coffee
166
+ - source/javascripts/bone_tree/namespace.js.coffee
167
+ - source/javascripts/bone_tree/views/directory.js.coffee
168
+ - source/javascripts/bone_tree/views/file.js.coffee
169
+ - source/javascripts/bone_tree/views/tree.js.coffee
63
170
  - source/layout.haml
64
171
  - source/stylesheets/bone_tree.css.sass
65
172
  - source/stylesheets/bone_tree_repo.css.sass
66
- - spec/javascripts/directory_view_spec.coffee
67
- - spec/javascripts/file_view_spec.coffee
173
+ - spec/javascripts/directory_spec.coffee
68
174
  - spec/javascripts/helpers/spec_helper.coffee
69
- - spec/javascripts/menu_view_spec.coffee
70
- - spec/javascripts/nodes_spec.coffee
175
+ - spec/javascripts/sorting_spec.coffee
71
176
  - spec/javascripts/support/jasmine.yml
72
177
  - spec/javascripts/support/jasmine_config.rb
73
178
  - spec/javascripts/support/jasmine_runner.rb
74
- - spec/javascripts/tree_view_spec.coffee
75
179
  homepage: http://mdiebolt.github.com/bone_tree
76
180
  licenses: []
77
181
  post_install_message:
@@ -86,13 +190,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
190
  version: '0'
87
191
  segments:
88
192
  - 0
89
- hash: -81853669433785675
193
+ hash: -769684106227080348
90
194
  required_rubygems_version: !ruby/object:Gem::Requirement
91
195
  none: false
92
196
  requirements:
93
197
  - - ! '>='
94
198
  - !ruby/object:Gem::Version
95
199
  version: '0'
200
+ segments:
201
+ - 0
202
+ hash: -769684106227080348
96
203
  requirements: []
97
204
  rubyforge_project: bone_tree
98
205
  rubygems_version: 1.8.10