safedb 0.5.1002 → 0.5.1003

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
  SHA256:
3
- metadata.gz: 34b23980c41abb1e67618bd929f7ad6f5cfcb94e9ba4e544f1705de0cc6a373f
4
- data.tar.gz: f18424a4b24e4b2e3567636965808ca50dac2f9d67162881bc10e91d6b97d368
3
+ metadata.gz: fc97d7955c363f290d97994018b73806d1d465fdc8628bc299069bc0b4c2a43c
4
+ data.tar.gz: a0885f01b7fd396cf0860df2ba1383fb58222e62ebd298febf5c2aaa898ab071
5
5
  SHA512:
6
- metadata.gz: b0e55ef10dbddd910a847133be163013318af044298b7caf430004c1da74df858e8891d4a1b578711cd0f628d91ed532d5febdf376369af535e3cb3e57424a1f
7
- data.tar.gz: ab6db9f7ad3dbb068adb99afd533117770bb695cf1fd16a8f9030c08446679ae45004a91517e92288eef7173415617513a71427cb3410772a7aea4920adc5e09
6
+ metadata.gz: 989bd998cc21841345b12f8bb2d3a74191203ce11d9895cd54e000fc597804988fe80cf76d0874a2d3c60e8e3a1d1bc1addf36f1db7a8c8edaef815b4c78091a
7
+ data.tar.gz: 35856adea81b13c0940c2ef8ce122fdfa19ebbdfad734a8eb6dad08f3e430c7b803c68afd54a68a88abb0b8ec91a74b2c58797c631233b8f1729ca484b54eb21
data/lib/cli.rb CHANGED
@@ -72,7 +72,7 @@ class CLI < Thor
72
72
 
73
73
  puts ""
74
74
  puts "safedb gem version => v#{SafeDb::VERSION}"
75
- puts "time and date now => #{SafeDb::KeyNow.human_readable()}"
75
+ puts "time and date now => #{SafeDb::TimeStamp.human_readable()}"
76
76
  puts "safedb @github.com => https://github.com/devops4me/safedb.net"
77
77
  puts "safe @rubygems.org => https://rubygems.org/gems/safedb"
78
78
  puts ""
@@ -325,6 +325,25 @@ class CLI < Thor
325
325
 
326
326
 
327
327
 
328
+ # Description of the generate command.
329
+ desc "generate <line>", "generate a string password that conforms to configured properties"
330
+
331
+ # The <b>generate use case</b> generates a random string credential that abides by
332
+ # the laws set out by configured and/or default parameter properties. These properties
333
+ # include the character superset to which all credential characters belong, the median
334
+ # length of the credential and the (give or take) span denoting the shortest and
335
+ # longest possible credentials.
336
+ #
337
+ # @param line [String] name of line the credential is stored against. Defaults to @password
338
+ def generate( line = "@password" )
339
+ log.info(x) { "generate a string credential and store it against line [#{line}]." }
340
+ generate_uc = SafeDb::Generate.new()
341
+ generate_uc.line = line
342
+ generate_uc.flow()
343
+ end
344
+
345
+
346
+
328
347
  # Description of the remove command.
329
348
  desc "remove <line_id>", "remove a line (key/value pair), or a verse, chapter and even a book"
330
349
 
@@ -341,6 +360,22 @@ class CLI < Thor
341
360
 
342
361
 
343
362
 
363
+ # Description of the rename command.
364
+ desc "rename <now_name> <new_name>", "rename an existing chapter, verse or line"
365
+
366
+ # The <b>rename use case</b> can rename an existing chapter, verse or line.
367
+ # @param now_name [String] the existing name of the chapter, verse or line
368
+ # @param new_name [String] the new name the chapter, verse or line goes by
369
+ def rename now_name, new_name
370
+ log.info(x) { "rename the existing chapter, verse or line from [ #{now_name} ] to [ #{new_name} ]." }
371
+ rename_uc = SafeDb::Rename.new()
372
+ rename_uc.now_name = now_name
373
+ rename_uc.new_name = new_name
374
+ rename_uc.flow()
375
+ end
376
+
377
+
378
+
344
379
  # Description of the read command.
345
380
  desc "read <file_url>", "read file into the open chapter and verse for safe keeping."
346
381
 
@@ -4,8 +4,10 @@ module SafeDb
4
4
 
5
5
  # Parent to use cases like Init and Login that perform early
6
6
  # initialize workflows.
7
- class AccessUc < Controller
7
+ class Auth < Controller
8
8
 
9
+ # This authorization use case should always have a book name
10
+ # provided and sometimes may have a password parameter.
9
11
  attr_writer :password, :book_name
10
12
 
11
13
 
@@ -29,7 +31,6 @@ module SafeDb
29
31
 
30
32
  end
31
33
 
32
-
33
34
  def contains_all_master_book_indices( data_map )
34
35
  return false unless data_map.contains?( Indices::CONTENT_RANDOM_IV )
35
36
  return false unless data_map.contains?( Indices::CONTENT_IDENTIFIER )
@@ -39,7 +39,7 @@ module SafeDb
39
39
 
40
40
  StateMigrate.commit( @book )
41
41
 
42
- puts "The commit was on #{KeyNow.readable()}\n"
42
+ puts "The commit was on #{TimeStamp.readable()}\n"
43
43
  puts "Commit from branch to master was successful.\n"
44
44
  puts ""
45
45
 
@@ -23,7 +23,7 @@ module SafeDb
23
23
  puts " Open Verse := #{@book.get_open_verse_name()}\n" if @book.has_open_verse_name?()
24
24
  puts ""
25
25
 
26
- export_filename = "safedb.#{KeyNow.yyjjj_hhmm_ss_nanosec()}.#{@book.book_id()}.json"
26
+ export_filename = "safedb.#{TimeStamp.yyjjj_hhmm_ss_nanosec()}.#{@book.book_id()}.json"
27
27
  export_filepath = File.join( Dir.pwd, export_filename )
28
28
 
29
29
  exported_struct = {}
@@ -26,7 +26,7 @@ module SafeDb
26
26
  puts " Book Name := #{@book.book_name()}\n"
27
27
  puts " Book Id := #{@book.book_id()}\n"
28
28
  puts " Import from := #{@import_filepath}\n"
29
- puts " Import time := #{KeyNow.readable()}\n"
29
+ puts " Import time := #{TimeStamp.readable()}\n"
30
30
  puts ""
31
31
 
32
32
  new_verse_count = 0
@@ -28,7 +28,7 @@ module SafeDb
28
28
  # - the book name ( maybe from SAFE_BOOK_NAME ) follows convention
29
29
  # - the shell must have a SAFE_TTY_TOKEN environment variable
30
30
  #
31
- class Init < AccessUc
31
+ class Init < Auth
32
32
 
33
33
 
34
34
  def execute
@@ -71,7 +71,7 @@ module SafeDb
71
71
  def virginal_book()
72
72
 
73
73
  initial_db = DataStore.new()
74
- initial_db.store( Indices::SAFE_BOOK_INITIALIZE_TIME, KeyNow.readable() )
74
+ initial_db.store( Indices::SAFE_BOOK_INITIALIZE_TIME, TimeStamp.readable() )
75
75
  initial_db.store( Indices::SAFE_BOOK_NAME, @book_name )
76
76
  initial_db.store( Indices::SAFE_BOOK_INIT_VERSION, Indices::SAFE_VERSION_STRING )
77
77
  initial_db.store( Indices::SAFE_BOOK_CHAPTER_KEYS, {} )
@@ -23,7 +23,7 @@ module SafeDb
23
23
  # - a file in the present directory (with a pre-agreed name)
24
24
  # - a URL from a parameter or pre-agreed
25
25
  # - the shell's secure password reader
26
- class Login < AccessUc
26
+ class Login < Auth
27
27
 
28
28
  # If the clip switch is present it signifies that the password should
29
29
  # be read in from the clipboard. Any text selection puts text into the
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/ruby
2
+
3
+ module SafeDb
4
+
5
+ # The <b>generate use case</b> generates a random string credential that abides by
6
+ # the laws set out by configured and/or default parameter properties. These properties
7
+ # include the character superset to which all credential characters belong, the median
8
+ # length of the credential and the (give or take) span denoting the shortest and
9
+ # longest possible credentials.
10
+ #
11
+ # If the parameter line already exists in the verse, it is backed up by appending
12
+ # it with a timestamp to prevent overwriting (and losing) the old value forever. This
13
+ # no clobber behaviour can be switched off by passing the --overwrite flag.
14
+ class Generate < EditVerse
15
+
16
+ # This is the name of the key the generated randomized string will be
17
+ # stored against within the current opened chapter and verse.
18
+ attr_writer :line
19
+
20
+ # A default median length of 14 characters with a give or take
21
+ # span of two means that the resulting password length could be
22
+ # one of either 12, 13, 14, 15 or 16 characters.
23
+ MEDIAN_LENGTH = 14
24
+
25
+ # If a median length of 15 is required with give or take set
26
+ # at 3 - the resulting password length could be anything from
27
+ # a minimum of 12 (15 - 3) to a maximum of 18 (15 + 3).
28
+ GIVE_OR_TAKE_SIZE = 2
29
+
30
+ # The length range typifies the set of possible credential lengths
31
+ # that can be produced by this class. The lower bound is the median
32
+ # length less give or take, the upper bound is the median length
33
+ # plus the give or take size.
34
+ LENGTH_RANGE = (MEDIAN_LENGTH - GIVE_OR_TAKE_SIZE) .. ( MEDIAN_LENGTH + GIVE_OR_TAKE_SIZE)
35
+
36
+ # The super strong non alpha-numeric character set has a large
37
+ # set of characters configured for the most secure credentials
38
+ # protecting security concious application states.
39
+ STRONG_CHARACTERS = "?@=$~%/+^.,][\{\}\<\>\&\(\)_\-"
40
+
41
+ # The widely accepted non alpha-numeric character set contains
42
+ # these characters
43
+ #
44
+ # - an @ sign
45
+ # - a percent sign
46
+ # - plus sign
47
+ # - a period
48
+ # - a comma
49
+ # - an (open) square bracket
50
+ # - a (close) square bracket
51
+ # - an underscore
52
+ # - a hyphen
53
+ WIDELY_ACCEPTED_CHARS = "@%+.,][_\-"
54
+
55
+ # This is the command used to generate the credentials stream.
56
+ GENERATE_CMD = "head /dev/urandom | tr -dc A-Za-z0-9#{WIDELY_ACCEPTED_CHARS} | head -c 258"
57
+
58
+ # The <b>generate use case</b> generates random strings that abide by a configured
59
+ # median length, span size, and a configured superset of characters that the generated
60
+ # credentials characters will be a subset of.
61
+ def edit_verse()
62
+
63
+ credential_length = Random.new().rand( LENGTH_RANGE )
64
+ credential_stream = %x[ #{GENERATE_CMD} ]
65
+ credential_string = credential_stream.chomp()[ 0 .. ( credential_length - 1 ) ]
66
+
67
+ @verse.store( "#{@line}-#{TimeStamp.yyjjj_hhmm_sst()}", @verse[ @line ] ) if @verse.has_key?( @line )
68
+ @verse.store( @line, credential_string )
69
+
70
+ end
71
+
72
+
73
+ end
74
+
75
+
76
+ end
@@ -17,6 +17,9 @@ module SafeDb
17
17
  # wants to delete only one line (key/value pair).
18
18
  def edit_verse()
19
19
 
20
+ # @todo refactor to recognise file values using isMap rather than the string prefix
21
+ # @todo refactor the Rename, Show, Read and Write use cases as well as this one.
22
+
20
23
  @verse.delete( @line_id )
21
24
  @verse.delete( "#{Indices::INGESTED_FILE_LINE_NAME_KEY}#{@line_id}" )
22
25
 
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/ruby
2
+
3
+ module SafeDb
4
+
5
+ # The <b>rename use case</b> when applied at the verse level changes the
6
+ # stated <em>line keyname</em>.
7
+ #
8
+ class Rename < EditVerse
9
+
10
+ # The id of the current chapter, verse or line entity to be renamed is
11
+ # the now_name and its new name is the new_name.
12
+ attr_writer :now_name, :new_name
13
+
14
+ # Find the line key named now_name and replace it with the provided
15
+ # new_name. The validation for keynames applies, both must be provided and
16
+ # the now_name must exist. This use case also renames file keys.
17
+ def edit_verse()
18
+
19
+ # @todo refactor to recognise file values using isMap rather than the string prefix
20
+ # @todo refactor the Remove, Show, Read and Write use cases as well as this one.
21
+
22
+ exit(100) unless has_line?()
23
+
24
+ current_value = @verse[ @now_name ]
25
+
26
+ # @todo instead of store and delete use the hash key rename method
27
+ @verse.store( @new_name, current_value ) unless is_file?()
28
+ @verse.store( "#{Indices::INGESTED_FILE_LINE_NAME_KEY}#{@new_name}", current_value ) if is_file?()
29
+
30
+ @verse.delete( "#{Indices::INGESTED_FILE_LINE_NAME_KEY}#{@now_name}" )
31
+ @verse.delete( @now_name )
32
+
33
+ end
34
+
35
+
36
+ private
37
+
38
+
39
+ def is_file?()
40
+ return @verse.has_key?( "#{Indices::INGESTED_FILE_LINE_NAME_KEY}#{@now_name}" )
41
+ end
42
+
43
+ def has_line?()
44
+
45
+ return true if( @verse.has_key?( @now_name ) || @verse.has_key?( "#{Indices::INGESTED_FILE_LINE_NAME_KEY}#{@now_name}" ) )
46
+ @book.print_book_mark()
47
+ puts ""
48
+ puts "Line [ #{@now_name} ] is not in this chapter/verse."
49
+ puts ""
50
+ return false
51
+
52
+ end
53
+
54
+ end
55
+
56
+
57
+ end
@@ -32,7 +32,7 @@ module SafeDb
32
32
  destination_dir = @to_dir unless @to_dir.nil?
33
33
 
34
34
  file_full_path = File.join( destination_dir, simple_filename )
35
- backup_filename = KeyNow.yyjjj_hhmm_sst() + "-" + simple_filename
35
+ backup_filename = TimeStamp.yyjjj_hhmm_sst() + "-" + simple_filename
36
36
  backup_file_path = File.join( destination_dir, backup_filename )
37
37
  will_clobber = File.file?( file_full_path )
38
38
 
data/lib/controller/id.rb CHANGED
@@ -9,8 +9,8 @@ module SafeDb
9
9
  def execute
10
10
 
11
11
  puts ""
12
- puts KeyNow.grab()
13
- puts KeyNow.fetch()
12
+ puts TimeStamp.grab()
13
+ puts TimeStamp.fetch()
14
14
  puts ""
15
15
 
16
16
  return
@@ -87,16 +87,11 @@ module SafeDb
87
87
 
88
88
  require_relative "../version"
89
89
  require_relative "../controller/controller"
90
- require_relative "../controller/admin/access"
90
+ require_relative "../controller/admin/auth"
91
91
  require_relative "../controller/edit/editverse"
92
92
  require_relative "../controller/query/queryverse"
93
93
 
94
94
  gem_basepath = File.expand_path "..", gem_filepath
95
-
96
- log.debug(x) { "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" }
97
- log.debug(x) { "@@@@ Require Gems In or Under [#{gem_basepath}]" }
98
- log.debug(x) { "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" }
99
-
100
95
  Dir["#{gem_basepath}/**/*.rb"].each do |gem_path|
101
96
 
102
97
  log.debug(x) { "@@@@ => #{gem_path}" }
@@ -104,8 +99,6 @@ module SafeDb
104
99
 
105
100
  end
106
101
 
107
- log.debug(x) { "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" }
108
-
109
102
  end
110
103
 
111
104
  end
@@ -137,6 +137,7 @@ module SafeDb
137
137
  private
138
138
 
139
139
 
140
+
140
141
  def self.data_differences( this_data, that_data )
141
142
 
142
143
  this_data.each_pair do | chapter_name, master_verse_data |
@@ -171,6 +172,7 @@ module SafeDb
171
172
 
172
173
  end
173
174
 
175
+
174
176
  def self.drop_differences( this_data, that_data )
175
177
 
176
178
  this_data.each_pair do | chapter_name, master_verse_data |
@@ -200,6 +202,7 @@ module SafeDb
200
202
 
201
203
  end
202
204
 
205
+
203
206
  def self.print_chapter_2b_added( fq_chap_name )
204
207
  puts " + Chapter 2b added -> #{fq_chap_name}"
205
208
  end
@@ -243,7 +243,7 @@ module SafeDb
243
243
 
244
244
  keypairs = DataMap.new( Indices::MASTER_INDICES_FILEPATH )
245
245
  keypairs.use( book_identifier )
246
- keypairs.set( Indices::SAFE_BOOK_INITIALIZE_TIME, KeyNow.readable() )
246
+ keypairs.set( Indices::SAFE_BOOK_INITIALIZE_TIME, TimeStamp.readable() )
247
247
  keypairs.set( Indices::COMMIT_IDENTIFIER, Identifier.get_random_identifier( 16 ) )
248
248
  end
249
249
 
@@ -314,14 +314,14 @@ module SafeDb
314
314
  branch_exists = File.exists? FileTree.branch_indices_filepath( branch_id )
315
315
  branch_keys = DataMap.new( FileTree.branch_indices_filepath( branch_id ) )
316
316
  branch_keys.use( Indices::BRANCH_DATA )
317
- branch_keys.set( Indices::BRANCH_INITIAL_LOGIN_TIME, KeyNow.readable() ) unless branch_exists
318
- branch_keys.set( Indices::BRANCH_LAST_ACCESSED_TIME, KeyNow.readable() )
317
+ branch_keys.set( Indices::BRANCH_INITIAL_LOGIN_TIME, TimeStamp.readable() ) unless branch_exists
318
+ branch_keys.set( Indices::BRANCH_LAST_ACCESSED_TIME, TimeStamp.readable() )
319
319
  branch_keys.set( Indices::CURRENT_BRANCH_BOOK_ID, book_id )
320
320
 
321
321
  logged_in = branch_keys.has_section?( book_id )
322
322
  branch_keys.use( book_id )
323
- branch_keys.set( Indices::BOOK_BRANCH_LOGIN_TIME, KeyNow.readable() ) unless logged_in
324
- branch_keys.set( Indices::BOOK_LAST_ACCESSED_TIME, KeyNow.readable() )
323
+ branch_keys.set( Indices::BOOK_BRANCH_LOGIN_TIME, TimeStamp.readable() ) unless logged_in
324
+ branch_keys.set( Indices::BOOK_LAST_ACCESSED_TIME, TimeStamp.readable() )
325
325
 
326
326
  return branch_keys
327
327
 
@@ -20,7 +20,7 @@ module SafeDb
20
20
  #{Indices::SAFE_URL_NAME} ciphertext block
21
21
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22
22
  Safe Book Id := #{book_id}
23
- Time Created := #{KeyNow.readable()}
23
+ Time Created := #{TimeStamp.readable()}
24
24
  Safe Version := #{Indices::SAFE_VERSION_STRING}
25
25
  Safe Website := #{Indices::SAFE_GEM_WEBSITE}
26
26
  RubyGems.org := https://rubygems.org/gems/safedb
@@ -10,7 +10,7 @@ module SafeDb
10
10
  # The central idea behind the pattern is to link every infrastructure
11
11
  # object created during a branch with a reference accurate to the nearest
12
12
  # centi-second denoting the moment the software runtime (branch) began.
13
- class KeyNow
13
+ class TimeStamp
14
14
  include Singleton
15
15
 
16
16
  attr_reader :time_now
@@ -19,7 +19,7 @@ module SafeDb
19
19
  # @example 02 => in February
20
20
  #
21
21
  def self.mo
22
- return KeyNow.instance.time_now.strftime "%m"
22
+ return TimeStamp.instance.time_now.strftime "%m"
23
23
  end
24
24
 
25
25
 
@@ -27,7 +27,7 @@ module SafeDb
27
27
  # @example feb => in February
28
28
  #
29
29
  def self.mmm
30
- return KeyNow.instance.time_now.strftime( "%b" ).downcase
30
+ return TimeStamp.instance.time_now.strftime( "%b" ).downcase
31
31
  end
32
32
 
33
33
 
@@ -36,7 +36,7 @@ module SafeDb
36
36
  # @example tue => on Tuesday
37
37
  #
38
38
  def self.ddd
39
- return KeyNow.instance.time_now.strftime( "%a" ).downcase
39
+ return TimeStamp.instance.time_now.strftime( "%a" ).downcase
40
40
  end
41
41
 
42
42
 
@@ -45,7 +45,7 @@ module SafeDb
45
45
  # @example 22 => between 22.00.00 and 22.59.59 inclusive
46
46
  #
47
47
  def self.hh
48
- return KeyNow.instance.time_now.strftime "%H"
48
+ return TimeStamp.instance.time_now.strftime "%H"
49
49
  end
50
50
 
51
51
 
@@ -53,7 +53,7 @@ module SafeDb
53
53
  # Return two digit minute of hour from [00] to [59].
54
54
  #
55
55
  def self.mm
56
- return KeyNow.instance.time_now.strftime "%M"
56
+ return TimeStamp.instance.time_now.strftime "%M"
57
57
  end
58
58
 
59
59
 
@@ -61,7 +61,7 @@ module SafeDb
61
61
  # Return two digit second of minute from [00] to [59].
62
62
  #
63
63
  def self.ss
64
- return KeyNow.instance.time_now.strftime "%S"
64
+ return TimeStamp.instance.time_now.strftime "%S"
65
65
  end
66
66
 
67
67
 
@@ -93,7 +93,7 @@ module SafeDb
93
93
  #
94
94
  #
95
95
  def self.sst
96
- millisec_string = KeyNow.instance.time_now.strftime "%L"
96
+ millisec_string = TimeStamp.instance.time_now.strftime "%L"
97
97
  return "#{ss}#{millisec_string[0]}"
98
98
  end
99
99
 
@@ -103,7 +103,7 @@ module SafeDb
103
103
  # that we are currently in.
104
104
  #
105
105
  def self.yy
106
- return KeyNow.instance.time_now.strftime("%Y")[2..-1]
106
+ return TimeStamp.instance.time_now.strftime("%Y")[2..-1]
107
107
  end
108
108
 
109
109
 
@@ -112,7 +112,7 @@ module SafeDb
112
112
  # that we are currently in.
113
113
  #
114
114
  def self.yyyy
115
- return KeyNow.instance.time_now.strftime("%Y")
115
+ return TimeStamp.instance.time_now.strftime("%Y")
116
116
  end
117
117
 
118
118
 
@@ -120,7 +120,7 @@ module SafeDb
120
120
  # Return 3 digit julian day of year [001] to [366]. -- #
121
121
  # ------------------------------------------------- -- #
122
122
  def self.jjj
123
- return KeyNow.instance.time_now.strftime "%j"
123
+ return TimeStamp.instance.time_now.strftime "%j"
124
124
  end
125
125
 
126
126
 
@@ -257,11 +257,6 @@ module SafeDb
257
257
  # hour, 2 digit minute, 2 digit second and 1 digit rounded
258
258
  # down tenth of second.
259
259
  #
260
- # @example
261
- # => 19003.1025
262
- # => 10:25 am on January 3rd 2019
263
- #
264
- #
265
260
  # Return the time of day to a TENTH of a second accuracy.
266
261
  # [8] characters will always be returned with the 5th one
267
262
  # being the (period) separator.
@@ -311,7 +306,7 @@ module SafeDb
311
306
  # 23 characters are always returned with three (3) period
312
307
  # separators at the 6th, 11th and 14th positions.
313
308
  def self.yyjjj_hhmm_ss_nanosec
314
- nanosec_str = KeyNow.instance.time_now.strftime "%9N"
309
+ nanosec_str = TimeStamp.instance.time_now.strftime "%9N"
315
310
  return "#{yyjjj}.#{hhmm}.#{ss}.#{nanosec_str}"
316
311
  end
317
312
 
@@ -375,7 +370,7 @@ module SafeDb
375
370
 
376
371
  # Return the Rubyfied time zone being used.
377
372
  def self.zone
378
- return KeyNow.instance.time_now.zone
373
+ return TimeStamp.instance.time_now.zone
379
374
  end
380
375
 
381
376
 
@@ -385,7 +380,7 @@ module SafeDb
385
380
  def self.log_instance_time
386
381
 
387
382
  log.debug(x) { "[stamp] -------------- => -------------------------------- #" }
388
- log.debug(x) { "[stamp] eco time stamp => [#{KeyNow.instance.time_now.ctime}]" }
383
+ log.debug(x) { "[stamp] eco time stamp => [#{TimeStamp.instance.time_now.ctime}]" }
389
384
  log.debug(x) { "[stamp] -------------- => -------------------------------- #" }
390
385
  log.debug(x) { "[stamp] Univ Time Zone => #{zone}" }
391
386
  log.debug(x) { "[stamp] Month Index is => #{mo}" }
@@ -413,7 +408,7 @@ module SafeDb
413
408
  end
414
409
 
415
410
 
416
- KeyNow.log_instance_time
411
+ TimeStamp.log_instance_time
417
412
 
418
413
 
419
414
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module SafeDb
2
- VERSION = "0.5.1002"
2
+ VERSION = "0.5.1003"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safedb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1002
4
+ version: 0.5.1003
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apollo Akora
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-25 00:00:00.000000000 Z
11
+ date: 2019-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt
@@ -129,7 +129,7 @@ files:
129
129
  - bin/safe
130
130
  - lib/cli.rb
131
131
  - lib/controller/admin/README.md
132
- - lib/controller/admin/access.rb
132
+ - lib/controller/admin/auth.rb
133
133
  - lib/controller/admin/commit.rb
134
134
  - lib/controller/admin/diff.rb
135
135
  - lib/controller/admin/export.rb
@@ -156,9 +156,11 @@ files:
156
156
  - lib/controller/controller.rb
157
157
  - lib/controller/edit/README.md
158
158
  - lib/controller/edit/editverse.rb
159
+ - lib/controller/edit/generate.rb
159
160
  - lib/controller/edit/put.rb
160
161
  - lib/controller/edit/remove.rb
161
162
  - lib/controller/edit/rename.md
163
+ - lib/controller/edit/rename.rb
162
164
  - lib/controller/files/README.md
163
165
  - lib/controller/files/read.rb
164
166
  - lib/controller/files/write.rb