quiver_toolbox 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14ad03a459ffebc8a39a013270eec2255a6b4ca0
4
- data.tar.gz: 3856842f0e8336615b66abcf5ec23e870bc8a9de
3
+ metadata.gz: 293aed5ec3a8aa72a8c247ab51a6c038a0ffd85f
4
+ data.tar.gz: e7c0f43099fd25fa66abc61dee6320722aba4b04
5
5
  SHA512:
6
- metadata.gz: 9e4e34df3765b64d865c06df8da5b8e8b08668746aa448e7a0fd060e6a8668a9820ed35a1a2f7fc1d994dca03a5122d5bedcb53deff4243a11749f74d7b2c4ae
7
- data.tar.gz: 1474cf9d82c685df6115a0e8b29086071f896d5b94f65e75b8c026e7f9ab881350d92005ac393c0a317edfcabf7bdae34ffa8bdb97cc0bb81ed65c415a064240
6
+ metadata.gz: 302383c3c248b2602e2e189eb70c65aed9d1f4e1b4263a5b705781bef91740b70c6b79cdb7de5294b4084a0111e9f07a4c416c5b2ba6c2892978792e06c13cdf
7
+ data.tar.gz: febc9c90f08bce166805f7b52cd3740ef01c8ad693c347e1d292bac89e147945a00319bb3230b24b489632bf8d9f60217daef6cec7db1b800a40370b5a801fd7
@@ -1,6 +1,7 @@
1
1
 
2
2
  class QuiverToolbox::Note
3
3
  EXTENSION = 'qvnote'
4
+ RESOURCES_DIR = 'resources/'
4
5
  META_JSON_FILE_NAME = 'meta.json'
5
6
  CONTENT_JSON_FILE_NAME = 'content.json'
6
7
 
@@ -29,6 +30,11 @@ class QuiverToolbox::Note
29
30
  meta_json_file = File.join(dir, 'meta.json')
30
31
  meta_json = JSON.load(File.open(meta_json_file).read)
31
32
 
33
+ notebook_path = nil
34
+ Pathname.new(dir).ascend do |v|
35
+ notebook_path = v.expand_path.to_s if v.basename.to_s.match('.qvnotebook')
36
+ end
37
+
32
38
  QuiverToolbox::Note.new do |n|
33
39
  n.created_at = meta_json['created_at']
34
40
  n.tags = meta_json['tags']
@@ -36,12 +42,14 @@ class QuiverToolbox::Note
36
42
  n.updated_at = meta_json['updated_at']
37
43
  n.uuid = meta_json['uuid']
38
44
  n.cells = content_json['cells']
45
+ n.notebook_path = notebook_path
39
46
  end
40
47
  end
41
48
 
42
49
 
43
50
  JSON_KEYS.each {|key| attr_accessor key.to_sym }
44
51
  attr_accessor :file, :notebook_path
52
+ attr_reader :resources
45
53
  def initialize(attributes = nil)
46
54
  attributes.each do |k, v|
47
55
  send("#{k.to_s}=", v) if respond_to?("#{k.to_s}=")
@@ -65,6 +73,20 @@ class QuiverToolbox::Note
65
73
  end
66
74
 
67
75
 
76
+ def resources_dir
77
+ File.join(file_name_with_path, RESOURCES_DIR)
78
+ end
79
+
80
+
81
+ def src_resources=(src_files)
82
+ @resources = []
83
+ src_files.each do |src_file|
84
+ dist_file = File.join(resources_dir, "#{QuiverToolbox::Util.rename_to_uuid_file(src_file)}")
85
+ @resources << {'src' => src_file, 'dist' => dist_file}
86
+ end
87
+ end
88
+
89
+
68
90
  def meta_json_file
69
91
  File.join(file_name_with_path, META_JSON_FILE_NAME)
70
92
  end
@@ -107,6 +129,17 @@ class QuiverToolbox::Note
107
129
  def store
108
130
  store_meta_json
109
131
  store_content_json
132
+ store_resources if @resources
133
+ self
134
+ end
135
+
136
+
137
+ def store_resources
138
+ FileUtils.mkdir_p(resources_dir)
139
+ @resources.each do |hash|
140
+ FileUtils.cp(hash['src'], hash['dist'])
141
+ end
142
+ self
110
143
  end
111
144
 
112
145
 
@@ -9,4 +9,10 @@ module QuiverToolbox::Util
9
9
  def self.now_unixtime
10
10
  Time.now.to_i
11
11
  end
12
+
13
+ def self.rename_to_uuid_file(src_file)
14
+ src_extname = File.extname(src_file)
15
+ dist_file = "#{generate_uuid.gsub!(/-/,'')}#{src_extname}"
16
+ dist_file
17
+ end
12
18
  end
@@ -1,3 +1,3 @@
1
1
  module QuiverToolbox
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quiver_toolbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - masainox
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-31 00:00:00.000000000 Z
11
+ date: 2017-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler