config_manager 0.0.5 → 0.0.6
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.
- checksums.yaml +4 -4
- data/lib/config_manager/setting.rb +74 -0
- data/lib/config_manager/toggle.rb +8 -0
- data/lib/config_manager/version.rb +1 -1
- data/spec/dummy/log/test.log +368 -0
- data/spec/lib/config_manager/setting_spec.rb +112 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c35668b6fd2b9dc71f88b90d151fa225db6c0198
|
4
|
+
data.tar.gz: 0e9240aa867e67b482f40fd022ce9e0d34a2cbaf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c903e028f3d5b543aae703e8f9ae357590d480f32cb30e085f1af26259efd771cfaad6ba58992689f88ce82a1a90311e103fd1ebf08edeaefbea3cb579c7b40a
|
7
|
+
data.tar.gz: 76371a4819e9b6aa0379787642eed388ca109f60ef1a18e5eedb5b4490ee19fe5675fa254701255f295a57cac801eeed38bcc94fac4a3a4af3019806ccb14b33
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module ConfigManager
|
2
|
+
class Setting
|
3
|
+
attr_reader :id, :value, :tags
|
4
|
+
|
5
|
+
def initialize(id, value, tags)
|
6
|
+
@id = id
|
7
|
+
@value = value
|
8
|
+
@tags = tags
|
9
|
+
end
|
10
|
+
|
11
|
+
class << self
|
12
|
+
def persist(id, value, *indexes)
|
13
|
+
$redis.set(generate_key(id), value)
|
14
|
+
$redis.sadd(generate_tags_key(id), indexes) unless indexes.empty?
|
15
|
+
|
16
|
+
# update global and tag indexes
|
17
|
+
indexes = indexes.map{|index| generate_index(index)}
|
18
|
+
indexes << global_key
|
19
|
+
index_by(id, indexes)
|
20
|
+
end
|
21
|
+
|
22
|
+
def find(id, with_tags=false)
|
23
|
+
key = generate_key(id)
|
24
|
+
value = $redis.get(key)
|
25
|
+
|
26
|
+
return nil unless value
|
27
|
+
|
28
|
+
index = generate_tags_key(id)
|
29
|
+
tags = with_tags ? $redis.smembers(index) : []
|
30
|
+
|
31
|
+
new(id, value, tags)
|
32
|
+
end
|
33
|
+
|
34
|
+
def delete(id)
|
35
|
+
$redis.del(generate_key(id), generate_tags_key(id))
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
# stores the setting id under the requested indexes
|
41
|
+
# this allows us to search all keys for a given index
|
42
|
+
# such as the global index returning all keys or a tag
|
43
|
+
def index_by(id, indexes)
|
44
|
+
indexes.each do |index|
|
45
|
+
$redis.sadd(index, generate_key(id))
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def generate_key(id)
|
50
|
+
"#{prefix}:#{id}"
|
51
|
+
end
|
52
|
+
|
53
|
+
def generate_tags_key(id)
|
54
|
+
"#{prefix}_tags:#{id}"
|
55
|
+
end
|
56
|
+
|
57
|
+
def generate_index(id)
|
58
|
+
"#{prefix}_index:#{id}"
|
59
|
+
end
|
60
|
+
|
61
|
+
def global_key
|
62
|
+
"#{prefix}_global"
|
63
|
+
end
|
64
|
+
|
65
|
+
def prefix
|
66
|
+
"#{Rails.application.class.parent_name.underscore}_cm_settings"
|
67
|
+
end
|
68
|
+
|
69
|
+
def store_key_by_index(index, key)
|
70
|
+
$redis.sadd(index, generate_key(key))
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module ConfigManager
|
2
2
|
module Toggle
|
3
3
|
def self.active?(test, challenge=nil)
|
4
|
+
return true if stub_in_host_app?
|
5
|
+
|
4
6
|
toggle_def = Toggles::Definition.new(test)
|
5
7
|
return false unless toggle_def.type
|
6
8
|
|
@@ -68,5 +70,11 @@ module ConfigManager
|
|
68
70
|
:type => 'set',
|
69
71
|
:formatted_acceptable_values => acceptable_values
|
70
72
|
end
|
73
|
+
|
74
|
+
private
|
75
|
+
# true when running tests in a host app
|
76
|
+
def self.stub_in_host_app?
|
77
|
+
Rails.env.test? && !Rails.root.to_s.match(ConfigManager::Engine.root.to_s)
|
78
|
+
end
|
71
79
|
end
|
72
80
|
end
|
data/spec/dummy/log/test.log
CHANGED
@@ -555,3 +555,371 @@
|
|
555
555
|
[1m[36m (6.4ms)[0m [1mrollback transaction[0m
|
556
556
|
[1m[35m (0.0ms)[0m begin transaction
|
557
557
|
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
558
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.5ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
559
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
560
|
+
[1m[35m (0.1ms)[0m begin transaction
|
561
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
562
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
563
|
+
[1m[35m (0.1ms)[0m begin transaction
|
564
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
565
|
+
[1m[35m (0.0ms)[0m begin transaction
|
566
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
567
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
568
|
+
[1m[35m (0.1ms)[0m begin transaction
|
569
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
570
|
+
[1m[35m (0.0ms)[0m begin transaction
|
571
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
572
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
573
|
+
[1m[35m (0.1ms)[0m begin transaction
|
574
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
575
|
+
[1m[35m (0.0ms)[0m begin transaction
|
576
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
577
|
+
[1m[35m (0.0ms)[0m begin transaction
|
578
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
579
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
580
|
+
[1m[35m (0.1ms)[0m begin transaction
|
581
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
582
|
+
[1m[35m (0.0ms)[0m begin transaction
|
583
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
584
|
+
[1m[35m (0.0ms)[0m begin transaction
|
585
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
586
|
+
[1m[35m (0.0ms)[0m begin transaction
|
587
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
588
|
+
[1m[35m (0.0ms)[0m begin transaction
|
589
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
590
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
591
|
+
[1m[35m (0.1ms)[0m begin transaction
|
592
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
593
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
594
|
+
[1m[35m (0.1ms)[0m begin transaction
|
595
|
+
[1m[36m (0.2ms)[0m [1mrollback transaction[0m
|
596
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
597
|
+
[1m[35m (0.1ms)[0m begin transaction
|
598
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
599
|
+
[1m[35m (0.0ms)[0m begin transaction
|
600
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
601
|
+
[1m[35m (0.1ms)[0m begin transaction
|
602
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
603
|
+
[1m[35m (0.1ms)[0m begin transaction
|
604
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
605
|
+
[1m[35m (0.0ms)[0m begin transaction
|
606
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
607
|
+
[1m[35m (0.0ms)[0m begin transaction
|
608
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
609
|
+
[1m[35m (0.0ms)[0m begin transaction
|
610
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
611
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
612
|
+
[1m[35m (0.1ms)[0m begin transaction
|
613
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
614
|
+
[1m[35m (0.0ms)[0m begin transaction
|
615
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
616
|
+
[1m[35m (0.0ms)[0m begin transaction
|
617
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
618
|
+
[1m[35m (0.0ms)[0m begin transaction
|
619
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
620
|
+
[1m[35m (0.0ms)[0m begin transaction
|
621
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
622
|
+
[1m[35m (0.0ms)[0m begin transaction
|
623
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
624
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
625
|
+
[1m[35m (0.1ms)[0m begin transaction
|
626
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
627
|
+
[1m[35m (0.0ms)[0m begin transaction
|
628
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
629
|
+
[1m[35m (0.0ms)[0m begin transaction
|
630
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
631
|
+
[1m[35m (0.0ms)[0m begin transaction
|
632
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
633
|
+
[1m[35m (0.0ms)[0m begin transaction
|
634
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
635
|
+
[1m[35m (0.0ms)[0m begin transaction
|
636
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
637
|
+
[1m[35m (0.0ms)[0m begin transaction
|
638
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
639
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
640
|
+
[1m[35m (0.1ms)[0m begin transaction
|
641
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
642
|
+
[1m[35m (0.0ms)[0m begin transaction
|
643
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
644
|
+
[1m[35m (0.0ms)[0m begin transaction
|
645
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
646
|
+
[1m[35m (0.0ms)[0m begin transaction
|
647
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
648
|
+
[1m[35m (0.0ms)[0m begin transaction
|
649
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
650
|
+
[1m[35m (0.0ms)[0m begin transaction
|
651
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
652
|
+
[1m[35m (0.0ms)[0m begin transaction
|
653
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
654
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
655
|
+
[1m[35m (0.1ms)[0m begin transaction
|
656
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
657
|
+
[1m[35m (0.0ms)[0m begin transaction
|
658
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
659
|
+
[1m[35m (0.0ms)[0m begin transaction
|
660
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
661
|
+
[1m[35m (0.0ms)[0m begin transaction
|
662
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
663
|
+
[1m[35m (0.0ms)[0m begin transaction
|
664
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
665
|
+
[1m[35m (0.0ms)[0m begin transaction
|
666
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
667
|
+
[1m[35m (0.0ms)[0m begin transaction
|
668
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
669
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
670
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
671
|
+
[1m[35m (0.1ms)[0m begin transaction
|
672
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
673
|
+
[1m[35m (0.0ms)[0m begin transaction
|
674
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
675
|
+
[1m[35m (0.0ms)[0m begin transaction
|
676
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
677
|
+
[1m[35m (0.0ms)[0m begin transaction
|
678
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
679
|
+
[1m[35m (0.0ms)[0m begin transaction
|
680
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
681
|
+
[1m[35m (0.1ms)[0m begin transaction
|
682
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
683
|
+
[1m[35m (0.0ms)[0m begin transaction
|
684
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
685
|
+
[1m[35m (0.0ms)[0m begin transaction
|
686
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
687
|
+
[1m[35m (0.0ms)[0m begin transaction
|
688
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
689
|
+
[1m[35m (0.0ms)[0m begin transaction
|
690
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
691
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
692
|
+
[1m[35m (0.1ms)[0m begin transaction
|
693
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
694
|
+
[1m[35m (0.0ms)[0m begin transaction
|
695
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
696
|
+
[1m[35m (0.0ms)[0m begin transaction
|
697
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
698
|
+
[1m[35m (0.0ms)[0m begin transaction
|
699
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
700
|
+
[1m[35m (0.0ms)[0m begin transaction
|
701
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
702
|
+
[1m[35m (0.0ms)[0m begin transaction
|
703
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
704
|
+
[1m[35m (0.0ms)[0m begin transaction
|
705
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
706
|
+
[1m[35m (0.0ms)[0m begin transaction
|
707
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
708
|
+
[1m[35m (0.0ms)[0m begin transaction
|
709
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
710
|
+
[1m[35m (0.0ms)[0m begin transaction
|
711
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
712
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
713
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
714
|
+
[1m[35m (0.1ms)[0m begin transaction
|
715
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
716
|
+
[1m[35m (0.0ms)[0m begin transaction
|
717
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
718
|
+
[1m[35m (0.0ms)[0m begin transaction
|
719
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
720
|
+
[1m[35m (0.0ms)[0m begin transaction
|
721
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
722
|
+
[1m[35m (0.0ms)[0m begin transaction
|
723
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
724
|
+
[1m[35m (0.0ms)[0m begin transaction
|
725
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
726
|
+
[1m[35m (0.0ms)[0m begin transaction
|
727
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
728
|
+
[1m[35m (0.0ms)[0m begin transaction
|
729
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
730
|
+
[1m[35m (0.0ms)[0m begin transaction
|
731
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
732
|
+
[1m[35m (0.0ms)[0m begin transaction
|
733
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
734
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
735
|
+
[1m[35m (0.1ms)[0m begin transaction
|
736
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
737
|
+
[1m[35m (0.0ms)[0m begin transaction
|
738
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
739
|
+
[1m[35m (0.0ms)[0m begin transaction
|
740
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
741
|
+
[1m[35m (0.0ms)[0m begin transaction
|
742
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
743
|
+
[1m[35m (0.0ms)[0m begin transaction
|
744
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
745
|
+
[1m[35m (0.0ms)[0m begin transaction
|
746
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
747
|
+
[1m[35m (0.0ms)[0m begin transaction
|
748
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
749
|
+
[1m[35m (0.0ms)[0m begin transaction
|
750
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
751
|
+
[1m[35m (0.0ms)[0m begin transaction
|
752
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
753
|
+
[1m[35m (0.1ms)[0m begin transaction
|
754
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
755
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
756
|
+
[1m[35m (0.1ms)[0m begin transaction
|
757
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
758
|
+
[1m[35m (0.0ms)[0m begin transaction
|
759
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
760
|
+
[1m[35m (0.0ms)[0m begin transaction
|
761
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
762
|
+
[1m[35m (0.0ms)[0m begin transaction
|
763
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
764
|
+
[1m[35m (0.0ms)[0m begin transaction
|
765
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
766
|
+
[1m[35m (0.0ms)[0m begin transaction
|
767
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
768
|
+
[1m[35m (0.0ms)[0m begin transaction
|
769
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
770
|
+
[1m[35m (0.0ms)[0m begin transaction
|
771
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
772
|
+
[1m[35m (0.0ms)[0m begin transaction
|
773
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
774
|
+
[1m[35m (0.0ms)[0m begin transaction
|
775
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
776
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
777
|
+
[1m[35m (0.1ms)[0m begin transaction
|
778
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
779
|
+
[1m[35m (0.0ms)[0m begin transaction
|
780
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
781
|
+
[1m[35m (0.0ms)[0m begin transaction
|
782
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
783
|
+
[1m[35m (0.1ms)[0m begin transaction
|
784
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
785
|
+
[1m[35m (0.0ms)[0m begin transaction
|
786
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
787
|
+
[1m[35m (0.0ms)[0m begin transaction
|
788
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
789
|
+
[1m[35m (0.0ms)[0m begin transaction
|
790
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
791
|
+
[1m[35m (0.0ms)[0m begin transaction
|
792
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
793
|
+
[1m[35m (0.0ms)[0m begin transaction
|
794
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
795
|
+
[1m[35m (0.0ms)[0m begin transaction
|
796
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
797
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
798
|
+
[1m[35m (0.1ms)[0m begin transaction
|
799
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
800
|
+
[1m[35m (0.1ms)[0m begin transaction
|
801
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
802
|
+
[1m[35m (0.0ms)[0m begin transaction
|
803
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
804
|
+
[1m[35m (0.1ms)[0m begin transaction
|
805
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
806
|
+
[1m[35m (0.0ms)[0m begin transaction
|
807
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
808
|
+
[1m[35m (0.0ms)[0m begin transaction
|
809
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
810
|
+
[1m[35m (0.0ms)[0m begin transaction
|
811
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
812
|
+
[1m[35m (0.0ms)[0m begin transaction
|
813
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
814
|
+
[1m[35m (0.0ms)[0m begin transaction
|
815
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
816
|
+
[1m[35m (0.0ms)[0m begin transaction
|
817
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
818
|
+
[1m[35m (0.0ms)[0m begin transaction
|
819
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
820
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
821
|
+
[1m[35m (0.1ms)[0m begin transaction
|
822
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
823
|
+
[1m[35m (0.0ms)[0m begin transaction
|
824
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
825
|
+
[1m[35m (0.0ms)[0m begin transaction
|
826
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
827
|
+
[1m[35m (0.0ms)[0m begin transaction
|
828
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
829
|
+
[1m[35m (0.0ms)[0m begin transaction
|
830
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
831
|
+
[1m[35m (0.0ms)[0m begin transaction
|
832
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
833
|
+
[1m[35m (0.0ms)[0m begin transaction
|
834
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
835
|
+
[1m[35m (0.0ms)[0m begin transaction
|
836
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
837
|
+
[1m[35m (0.0ms)[0m begin transaction
|
838
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
839
|
+
[1m[35m (0.0ms)[0m begin transaction
|
840
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
841
|
+
[1m[35m (0.0ms)[0m begin transaction
|
842
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
843
|
+
[1m[35m (0.0ms)[0m begin transaction
|
844
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
845
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
846
|
+
[1m[35m (0.1ms)[0m begin transaction
|
847
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
848
|
+
[1m[35m (0.0ms)[0m begin transaction
|
849
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
850
|
+
[1m[35m (0.0ms)[0m begin transaction
|
851
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
852
|
+
[1m[35m (0.0ms)[0m begin transaction
|
853
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
854
|
+
[1m[35m (0.0ms)[0m begin transaction
|
855
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
856
|
+
[1m[35m (0.0ms)[0m begin transaction
|
857
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
858
|
+
[1m[35m (0.0ms)[0m begin transaction
|
859
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
860
|
+
[1m[35m (0.0ms)[0m begin transaction
|
861
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
862
|
+
[1m[35m (0.1ms)[0m begin transaction
|
863
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
864
|
+
[1m[35m (0.0ms)[0m begin transaction
|
865
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
866
|
+
[1m[35m (0.0ms)[0m begin transaction
|
867
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
868
|
+
[1m[35m (0.0ms)[0m begin transaction
|
869
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
870
|
+
[1m[35m (0.0ms)[0m begin transaction
|
871
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
872
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.5ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
873
|
+
[1m[35m (0.1ms)[0m begin transaction
|
874
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
875
|
+
[1m[35m (0.0ms)[0m begin transaction
|
876
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
877
|
+
[1m[35m (0.0ms)[0m begin transaction
|
878
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
879
|
+
[1m[35m (0.0ms)[0m begin transaction
|
880
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
881
|
+
[1m[35m (0.0ms)[0m begin transaction
|
882
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
883
|
+
[1m[35m (0.0ms)[0m begin transaction
|
884
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
885
|
+
[1m[35m (0.0ms)[0m begin transaction
|
886
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
887
|
+
[1m[35m (0.1ms)[0m begin transaction
|
888
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
889
|
+
[1m[35m (0.0ms)[0m begin transaction
|
890
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
891
|
+
[1m[35m (0.0ms)[0m begin transaction
|
892
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
893
|
+
[1m[35m (0.0ms)[0m begin transaction
|
894
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
895
|
+
[1m[35m (0.0ms)[0m begin transaction
|
896
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
897
|
+
[1m[35m (0.0ms)[0m begin transaction
|
898
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
899
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
900
|
+
[1m[35m (0.1ms)[0m begin transaction
|
901
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
902
|
+
[1m[35m (0.0ms)[0m begin transaction
|
903
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
904
|
+
[1m[35m (0.0ms)[0m begin transaction
|
905
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
906
|
+
[1m[35m (0.0ms)[0m begin transaction
|
907
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
908
|
+
[1m[35m (0.0ms)[0m begin transaction
|
909
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
910
|
+
[1m[35m (0.0ms)[0m begin transaction
|
911
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
912
|
+
[1m[35m (0.0ms)[0m begin transaction
|
913
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
914
|
+
[1m[35m (0.0ms)[0m begin transaction
|
915
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
916
|
+
[1m[35m (0.0ms)[0m begin transaction
|
917
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
918
|
+
[1m[35m (0.0ms)[0m begin transaction
|
919
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
920
|
+
[1m[35m (0.0ms)[0m begin transaction
|
921
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
922
|
+
[1m[35m (0.0ms)[0m begin transaction
|
923
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
924
|
+
[1m[35m (0.0ms)[0m begin transaction
|
925
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module ConfigManager
|
4
|
+
describe Setting, :redis => true do
|
5
|
+
let(:name) { "mysetting" }
|
6
|
+
|
7
|
+
describe ".persist" do
|
8
|
+
let(:key) { Setting.send(:generate_key, name) }
|
9
|
+
let(:global) { Setting.send(:global_key) }
|
10
|
+
|
11
|
+
def redis_index(index)
|
12
|
+
Setting.send(:generate_index, index)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "stores the value in redis under the generated key" do
|
16
|
+
Setting.persist(name, "I am serialized")
|
17
|
+
$redis.get(key).should == "I am serialized"
|
18
|
+
end
|
19
|
+
|
20
|
+
it "adds the key to the global setting index" do
|
21
|
+
Setting.persist(name, "I am serialized")
|
22
|
+
$redis.smembers(global).should == [key]
|
23
|
+
end
|
24
|
+
|
25
|
+
context "when a tag has been passed" do
|
26
|
+
let(:tag) { "xyz" }
|
27
|
+
|
28
|
+
it "adds the key to a set identified by the tag" do
|
29
|
+
Setting.persist(name, "I am serialized", tag)
|
30
|
+
$redis.smembers(redis_index(tag)).should include(key)
|
31
|
+
end
|
32
|
+
|
33
|
+
it "adds the key to the global setting index" do
|
34
|
+
Setting.persist(name, "I am serialized", tag)
|
35
|
+
$redis.smembers(global).should == [key]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when two tags have been passed" do
|
40
|
+
let(:tag1) { "xyz" }
|
41
|
+
let(:tag2) { "abc" }
|
42
|
+
|
43
|
+
it "adds the key to two sets identifed by the tags" do
|
44
|
+
Setting.persist(name, "I am serialized", tag1, tag2)
|
45
|
+
$redis.smembers(redis_index(tag1)).should include(key)
|
46
|
+
$redis.smembers(redis_index(tag2)).should include(key)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe ".find" do
|
52
|
+
context "when id is not in redis" do
|
53
|
+
it "returns nil" do
|
54
|
+
Setting.find("mysetting").should be_nil
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context" when id is in redis" do
|
59
|
+
before { Setting.persist(name, "I am serialized", "xyz", "abc") }
|
60
|
+
subject { Setting.find(name, with_tags) }
|
61
|
+
let(:with_tags) { false }
|
62
|
+
|
63
|
+
it "returns a setting instance" do
|
64
|
+
subject.should be_instance_of(Setting)
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "returned instance" do
|
68
|
+
it "has the right id" do
|
69
|
+
subject.id.should == name
|
70
|
+
end
|
71
|
+
|
72
|
+
it "has the right value" do
|
73
|
+
subject.value.should == "I am serialized"
|
74
|
+
end
|
75
|
+
|
76
|
+
context "when tags are not explicitely request" do
|
77
|
+
it "has no tags" do
|
78
|
+
subject.tags.should be_empty
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
context "when tags are requested" do
|
83
|
+
let(:with_tags) { true }
|
84
|
+
|
85
|
+
it "has the right tags" do
|
86
|
+
["xyz", "abc"].each do |tag|
|
87
|
+
subject.tags.should include(tag)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe ".delete" do
|
96
|
+
before do
|
97
|
+
Setting.persist(name, "I am serialized", "xyz")
|
98
|
+
Setting.find(name, true).tags.should == ["xyz"]
|
99
|
+
end
|
100
|
+
|
101
|
+
it "deletes the setting under the passed id" do
|
102
|
+
Setting.delete(name)
|
103
|
+
Setting.find(name).should be_nil
|
104
|
+
end
|
105
|
+
|
106
|
+
it "deletes the tags under the passed id" do
|
107
|
+
Setting.delete(name)
|
108
|
+
$redis.smembers(Setting.send(:generate_tags_key, name)).should be_empty
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: config_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pablo Calderon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -276,6 +276,7 @@ files:
|
|
276
276
|
- db/migrate/20140725161636_create_config_manager_admins.rb
|
277
277
|
- lib/config_manager.rb
|
278
278
|
- lib/config_manager/engine.rb
|
279
|
+
- lib/config_manager/setting.rb
|
279
280
|
- lib/config_manager/toggle.rb
|
280
281
|
- lib/config_manager/toggles/boolean.rb
|
281
282
|
- lib/config_manager/toggles/definition.rb
|
@@ -355,6 +356,7 @@ files:
|
|
355
356
|
- spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
356
357
|
- spec/dummy/tmp/test.yml
|
357
358
|
- spec/integration/navigation_test.rb
|
359
|
+
- spec/lib/config_manager/setting_spec.rb
|
358
360
|
- spec/lib/config_manager/toggle_spec.rb
|
359
361
|
- spec/lib/config_manager/toggles/boolean_spec.rb
|
360
362
|
- spec/lib/config_manager/toggles/definition_spec.rb
|
@@ -460,6 +462,7 @@ test_files:
|
|
460
462
|
- spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
461
463
|
- spec/dummy/tmp/test.yml
|
462
464
|
- spec/integration/navigation_test.rb
|
465
|
+
- spec/lib/config_manager/setting_spec.rb
|
463
466
|
- spec/lib/config_manager/toggle_spec.rb
|
464
467
|
- spec/lib/config_manager/toggles/boolean_spec.rb
|
465
468
|
- spec/lib/config_manager/toggles/definition_spec.rb
|