rails_embed_editor 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDFjZGNkMzQ0YzJiZWI3MDdlMTYyZjFkNDg0M2MwZWIyZDkwZDgwNA==
4
+ MmI2OGM1NTBjZDQzZTk5MzQ0OTgwNDBhZmE3NTNkYzhjNzAyNTYzZA==
5
5
  data.tar.gz: !binary |-
6
- MzUwM2Y3NTlmZjUyOTFmMzA2NTgzNTY2Yjg3NzQ2OWI5MTk0NTI1Mg==
6
+ ZTRiMTE2ODY2OGIwODFiYjdhNjFmZDkzYWQyOGE2YTE5NzdhOWYzYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDgwNDE0NWM5NDhjZjRjYTc0NTdlMTBmMWRlNzc0MTA2ZDY0OWZjZDk0NTE2
10
- YzZiMjZlNWM3MDYwMzMxNDhhZWRmNmZiYzlkYjc0MjE2Mjg4NDgwYmMwMzQy
11
- ODQ2MmJhNjYyZTUyYWZlMDRiMzllOWI3ZGVjY2QyMTRjZDRkZjI=
9
+ ZTA4ZTZjNzVmMGI1N2ZmMzBhMDVjNmVjMDYwMDdhMTc0MThlMWMzZmI5YTll
10
+ ZTE1NjliMTYwMmJjMDQ3OWNmZDQ3Y2FlZDMxYzY1NjNlZTBiZmNmZjAzZWIz
11
+ OTExNGQ3ZGRiMDlmYTQzODJkODRkZDMxYWI5MmM0MGY5YTYzZWY=
12
12
  data.tar.gz: !binary |-
13
- YzdhODQ0YTQwNTkxMjNiYWE4MWZhNjBmMDdmYzE5NjA5N2ZhNTdmMmJjM2Ez
14
- NDJmZWFiOWI3ZmIxOWIyYzFiNzBlNTcxYTM3MmIxYzFkMGRkZTAwYTE2MmM3
15
- YjYzZDBhZWZiNDgyMjBhM2ZiNGFjNGUzM2UxMTg4NzBjOWZjYTg=
13
+ MTY2ZjhlYTg5YWRiNDc0NDViZDEzZTQwMzkyOGZkY2ZmNmJhZjIzYTc4N2U2
14
+ MTlkYjRhMDVkYjgwNjlhZDJhZWJmN2QxNjBmMDllYmQ1YTgxYWM1NzkxZWMz
15
+ OWViZWU0NTEyMWRiMmFiY2JiZjk0NzZmZWNmZThkNWQ5MTQ5MTA=
@@ -23,7 +23,7 @@ window.load_rails_embed_code_editor = () ->
23
23
  editormode: container.data('editormode')
24
24
  highlight: compute_range(container.data('highlight'), container.data('first-line'))
25
25
  }
26
- setup_editor(container[0], options)
26
+ setup_editor(container, options)
27
27
 
28
28
 
29
29
  setup_editor = (element, options) ->
@@ -34,7 +34,7 @@ setup_editor = (element, options) ->
34
34
  editormode: 'readonly'
35
35
  }
36
36
  options = $.extend({}, defaults, options);
37
- editor = ace.edit(element)
37
+ editor = ace.edit(element[0])
38
38
  editor.commands.removeCommand('replace')
39
39
  editor.setTheme("ace/theme/" + options['theme']);
40
40
  editor.getSession().setMode("ace/mode/" + options['mode']);
@@ -44,6 +44,13 @@ setup_editor = (element, options) ->
44
44
  editor.setOption("maxLines", 40);
45
45
  editor.setOption("minLines", 5);
46
46
 
47
+ #highlight the current line only if its focus
48
+ editor.setHighlightActiveLine(false)
49
+ editor.on "focus", () ->
50
+ editor.setHighlightActiveLine(true)
51
+ editor.on "blur", () ->
52
+ editor.setHighlightActiveLine(false)
53
+
47
54
  editor.getSession().addMarker(options['highlight'], "editor_highlight", "text") unless options['highlight'] == null
48
55
 
49
56
  if options['editormode'] != 'readonly'
@@ -57,15 +64,19 @@ setup_editor = (element, options) ->
57
64
  button.text('Save')
58
65
  editor.setReadOnly(false)
59
66
  else
67
+ last_line = editor.session.getLength() - options['first_line']+1
60
68
  $.post('/rails_embed_editor/edit', {
61
- content: editor.getValue()
69
+ content: editor.getValue() + '\n'
62
70
  first_line: options['first_line']
63
71
  last_line: options['last_line']
64
72
  filename: options['filename']
65
73
  }).success (data) ->
66
74
  if data['success'] == true
67
75
  button.text('Saved!')
68
-
76
+ console.log('last: ' + options['last_line'])
77
+ console.log('new: ' + last_line)
78
+ element.attr('data-last-line', last_line)
79
+ options['last_line'] = last_line
69
80
  else
70
81
  button.text('Error')
71
82
  console.log('Error saving:' + data['message'])
@@ -11,6 +11,8 @@ module RailsEmbedEditor
11
11
  if filename.nil? or text.nil?
12
12
  render :json => {:success => false, :params => params.to_json}
13
13
  else
14
+ puts text.lines.map{|x| "#{x.chomp}\n"}.to_s
15
+ p text
14
16
  manager = RailsEmbedEditor::FileManager.from_options(filename, params)
15
17
  manager.save_text text
16
18
  render :json => {:success => true}
@@ -3,7 +3,7 @@ module RailsEmbedEditor
3
3
  def rails_embed_editor(filename, options ={})
4
4
  options[:editormode] ||= RailsEmbedEditor::EditorMode::READ_ONLY
5
5
  manager = RailsEmbedEditor::FileManager.from_options(filename, options)
6
- text = manager.read_text
6
+ text = manager.read_text.chomp
7
7
  first_line = manager.first_line
8
8
  last_line = manager.last_line
9
9
  content_tag('div', text, :class => 'rails_embed_code_editor',
@@ -25,7 +25,10 @@ module RailsEmbedEditor
25
25
  def read_lines
26
26
  lines = []
27
27
  File.open(@filename, 'r') do |f|
28
- lines = f.readlines[@first_line-1...@last_line]
28
+ all_lines = f.readlines
29
+ @first_line = 1 if @first_line <= 0
30
+ @last_line = all_lines.size if @first_line > all_lines.size
31
+ lines = all_lines[@first_line-1...@last_line]
29
32
  end
30
33
  lines
31
34
  end
@@ -35,7 +38,7 @@ module RailsEmbedEditor
35
38
  end
36
39
 
37
40
  def save_text(text)
38
- save_lines(text.split(/\r?\n/).map { |x| "#{x}\n" })
41
+ save_lines(text.lines.map{|x| "#{x.chomp}\n"})
39
42
  end
40
43
 
41
44
  def save_lines(lines)
@@ -43,6 +46,8 @@ module RailsEmbedEditor
43
46
  File.open(@filename, 'r') do |f|
44
47
  all_lines = f.readlines
45
48
  end
49
+ @first_line = 1 if @first_line <= 0
50
+ @last_line = all_lines.size if @first_line > all_lines.size
46
51
  all_lines = all_lines[0...@first_line-1] + lines + all_lines[@last_line..-1]
47
52
  File.open(@filename, 'w') do |f|
48
53
  all_lines.each do |line|
@@ -1,3 +1,3 @@
1
1
  module RailsEmbedEditor
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_embed_editor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timothee Guerin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-10 00:00:00.000000000 Z
11
+ date: 2014-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -100,34 +100,6 @@ dependencies:
100
100
  - - ! '>='
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: minitest
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ! '>='
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- - !ruby/object:Gem::Dependency
118
- name: minitest-reporters
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ! '>='
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ! '>='
129
- - !ruby/object:Gem::Version
130
- version: '0'
131
103
  description: A tool that allow to display a embed editor on your page and edit local
132
104
  file(Views, Controller, ...). Details otw
133
105
  email:
@@ -184,6 +156,7 @@ files:
184
156
  - test/dummy/config/initializers/wrap_parameters.rb
185
157
  - test/dummy/config/locales/en.yml
186
158
  - test/dummy/config/routes.rb
159
+ - test/dummy/db/development.sqlite3
187
160
  - test/dummy/db/test.sqlite3
188
161
  - test/dummy/log/development.log
189
162
  - test/dummy/log/test.log
@@ -251,6 +224,7 @@ test_files:
251
224
  - test/dummy/config/locales/en.yml
252
225
  - test/dummy/config/routes.rb
253
226
  - test/dummy/config.ru
227
+ - test/dummy/db/development.sqlite3
254
228
  - test/dummy/db/test.sqlite3
255
229
  - test/dummy/log/development.log
256
230
  - test/dummy/log/test.log